Sha256: 743f9caf32448a1cbe0499638e162b56eec49dca93b66ae8dde3415c853d59b4

Contents?: true

Size: 1.43 KB

Versions: 8

Compression:

Stored size: 1.43 KB

Contents

require 'sinatra/shopify-sinatra-app'

class SinatraApp < Sinatra::Base
  register Sinatra::Shopify

  # 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
      @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
    webhook_session do |params|
      current_shop.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

8 entries across 8 versions & 1 rubygems

Version Path
shopify-sinatra-app-0.4.1 example/src/app.rb
shopify-sinatra-app-0.4.0 example/src/app.rb
shopify-sinatra-app-0.3.4 example/src/app.rb
shopify-sinatra-app-0.3.3 example/lib/app.rb
shopify-sinatra-app-0.3.2 example/lib/app.rb
shopify-sinatra-app-0.3.1 example/lib/app.rb
shopify-sinatra-app-0.3.0 example/lib/app.rb
shopify-sinatra-app-0.2.0 example/lib/app.rb