0.02
No commit activity in last 3 years
No release in over 3 years
A Sinatra extension for working with the Shopify API. Akin to the shopify_app gem but for Sinatra
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 1.0
 Project Readme

Sinatra-Shopify: A classy shopify_app

This is a Sinatra extension that allows you to work with the Shopify API. It's basically just a port of the shopify_app rails plugin to sinatra.

Why?

I have been having fun working on Shopify apps lately, but I needed a simpler way than always generating a new rails app, new controllers, etc., for every little idea.

Rails is great, but most of the Shopify apps that I have come up with are one page apps, maybe two or three pages. The point is, I don't need a controller for that, I don't need the 63 files or however many the rails generator generates for me.

Sinatra is most awesome when you are working on a small app with just a few routes. You can clone this app and use it as a starting point for a shopify_app. All of the authentication logic/routes are in the lib folder, so they don't pollute the code of your app.

So in app.rb, you just have to worry about the functionality of your app.

Usage

Installable from rubygems as sinatra-shopify or you can add it to your gemfile as gem 'sinatra-shopify'.

The current implementation for authentication is to add the authorize! method at the top of any routes that you want to be authenticated, like so:

get '/sensitive_data' do
  authorize!
  
  # then do the sensitive stuff
end

Example

This repo includes an example Sinatra app. The fastest way to get it running:

  • git clone git://github.com/jstorimer/sinatra-shopify
  • cd sinatra-shopify
  • heroku create (make sure that you remember the name of your app as you will need that later)
  • visit the Shopify Partners area
  • Sign up for an account if you don't already have one
  • Log in to your Shopify partners account
  • Create a new application.
  • Make sure that the Callback URL is set to http://_yourapp_.heroku.com/login/finalize
  • In the lib/sinatra/shopify.yml file replace API_KEY and SECRET with the Api Key and Secret that you just got from the Shopify Partners area
  • git push heroku master
  • heroku open