Sha256: 530308377e75d96f9ce0c940d0ef347edf6accde819a4b3dae2629888fecbcb5
Contents?: true
Size: 1.55 KB
Versions: 2
Compression:
Stored size: 1.55 KB
Contents
require 'sinatra/shopify-sinatra-app' require 'sinatra/flash' class SinatraApp < Sinatra::Base register Sinatra::Shopify register Sinatra::Flash # set the scope that your app needs, read more here: # http://docs.shopify.com/api/tutorials/oauth set :scope, 'read_products, read_orders' # Your App's Home page # this is a simple example that fetches some products # from Shopify and displays them inside your app get '/' do shopify_session do |shop_name| @shop = ShopifyAPI::Shop.current @products = ShopifyAPI::Product.find(:all, params: { limit: 10 }) erb :home end end # this endpoint recieves the uninstall webhook # and cleans up data, add to this endpoint as your app # stores more data. post '/uninstall' do shopify_webhook do |shop_name, params| Shop.find_by(name: shop_name).destroy end end private # This method gets called when your app is installed. # setup any webhooks or services you need on Shopify # inside here. def after_shopify_auth # shopify_session do # create an uninstall webhook, this webhook gets sent # when your app is uninstalled from a shop. It is good # practice to clean up any data from a shop when they # uninstall your app: # uninstall_webhook = ShopifyAPI::Webhook.new( # topic: 'app/uninstalled', # address: "#{base_url}/uninstall", # format: 'json' # ) # begin # uninstall_webhook.save! # rescue => e # raise unless uninstall_webhook.persisted? # end # end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shopify-sinatra-app-0.12.0 | example/src/app.rb |
shopify-sinatra-app-0.11.0 | example/src/app.rb |