Sha256: 85065e3fb4af59fe04ccf4fb25b60f8911e760f2b0d97538b5611804717a2340

Contents?: true

Size: 1.9 KB

Versions: 11

Compression:

Stored size: 1.9 KB

Contents

module ShopifyApp
  class Configuration

    # Shopify App settings. These values should match the configuration
    # for the app in your Shopify Partners page. Change your settings in
    # `config/initializers/shopify_app.rb`
    attr_accessor :application_name
    attr_accessor :api_key
    attr_accessor :secret
    attr_accessor :old_secret
    attr_accessor :scope
    attr_accessor :embedded_app
    alias_method  :embedded_app?, :embedded_app
    attr_accessor :webhooks
    attr_accessor :scripttags
    attr_accessor :after_authenticate_job
    attr_accessor :session_repository
    attr_accessor :api_version

    # customise urls
    attr_accessor :root_url
    attr_accessor :login_url

    # customise ActiveJob queue names
    attr_accessor :scripttags_manager_queue_name
    attr_accessor :webhooks_manager_queue_name

    # configure myshopify domain for local shopify development
    attr_accessor :myshopify_domain

    # allow namespacing webhook jobs
    attr_accessor :webhook_jobs_namespace

    def initialize
      @root_url = '/'
      @myshopify_domain = 'myshopify.com'
      @scripttags_manager_queue_name = Rails.application.config.active_job.queue_name
      @webhooks_manager_queue_name = Rails.application.config.active_job.queue_name
    end

    def login_url
      @login_url || File.join(@root_url, 'login')
    end

    def session_repository=(klass)
      if Rails.configuration.cache_classes
        ShopifyApp::SessionRepository.storage = klass
      else
        ActiveSupport::Reloader.to_prepare do
          ShopifyApp::SessionRepository.storage = klass
        end
      end
    end

    def has_webhooks?
      webhooks.present?
    end

    def has_scripttags?
      scripttags.present?
    end
  end

  def self.configuration
    @configuration ||= Configuration.new
  end

  def self.configuration=(config)
    @configuration = config
  end

  def self.configure
    yield configuration
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
shopify_app-11.2.0 lib/shopify_app/configuration.rb
shopify_app-11.1.0 lib/shopify_app/configuration.rb
shopify_app-11.0.2 lib/shopify_app/configuration.rb
shopify_app-11.0.1 lib/shopify_app/configuration.rb
shopify_app-11.0.0 lib/shopify_app/configuration.rb
shopify_app-10.0.0 lib/shopify_app/configuration.rb
shopify_app-9.0.4 lib/shopify_app/configuration.rb
shopify_app-9.0.3 lib/shopify_app/configuration.rb
shopify_app-9.0.2 lib/shopify_app/configuration.rb
shopify_app-9.0.1 lib/shopify_app/configuration.rb
shopify_app-9.0.0 lib/shopify_app/configuration.rb