Class: ShopifyApp::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/shopify_app/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



48
49
50
51
52
53
54
55
# File 'lib/shopify_app/configuration.rb', line 48

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
  @disable_webpacker = ENV['SHOPIFY_APP_DISABLE_WEBPACKER'].present?
  @allow_cookie_authentication = true
end

Instance Attribute Details

#after_authenticate_jobObject

Returns the value of attribute after_authenticate_job.



18
19
20
# File 'lib/shopify_app/configuration.rb', line 18

def after_authenticate_job
  @after_authenticate_job
end

Returns the value of attribute allow_cookie_authentication.



46
47
48
# File 'lib/shopify_app/configuration.rb', line 46

def allow_cookie_authentication
  @allow_cookie_authentication
end

#allow_jwt_authenticationObject

allow enabling jwt headers for authentication



44
45
46
# File 'lib/shopify_app/configuration.rb', line 44

def allow_jwt_authentication
  @allow_jwt_authentication
end

#api_keyObject

Returns the value of attribute api_key.



8
9
10
# File 'lib/shopify_app/configuration.rb', line 8

def api_key
  @api_key
end

#api_versionObject

Returns the value of attribute api_version.



19
20
21
# File 'lib/shopify_app/configuration.rb', line 19

def api_version
  @api_version
end

#application_nameObject

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`



7
8
9
# File 'lib/shopify_app/configuration.rb', line 7

def application_name
  @application_name
end

#disable_webpackerObject

ability to have webpacker installed but not used in this gem and the generators



35
36
37
# File 'lib/shopify_app/configuration.rb', line 35

def disable_webpacker
  @disable_webpacker
end

#embedded_appObject Also known as: embedded_app?

Returns the value of attribute embedded_app.



14
15
16
# File 'lib/shopify_app/configuration.rb', line 14

def embedded_app
  @embedded_app
end

#enable_same_site_noneObject



95
96
97
# File 'lib/shopify_app/configuration.rb', line 95

def enable_same_site_none
  !Rails.env.test? && (@enable_same_site_none.nil? ? embedded_app? : @enable_same_site_none)
end

#login_urlObject



57
58
59
# File 'lib/shopify_app/configuration.rb', line 57

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

#myshopify_domainObject

configure myshopify domain for local shopify development



32
33
34
# File 'lib/shopify_app/configuration.rb', line 32

def myshopify_domain
  @myshopify_domain
end

#old_secretObject

Returns the value of attribute old_secret.



10
11
12
# File 'lib/shopify_app/configuration.rb', line 10

def old_secret
  @old_secret
end

#reauth_on_access_scope_changesObject

Returns the value of attribute reauth_on_access_scope_changes.



21
22
23
# File 'lib/shopify_app/configuration.rb', line 21

def reauth_on_access_scope_changes
  @reauth_on_access_scope_changes
end

#root_urlObject

customise urls



24
25
26
# File 'lib/shopify_app/configuration.rb', line 24

def root_url
  @root_url
end

#scopeObject

Returns the value of attribute scope.



11
12
13
# File 'lib/shopify_app/configuration.rb', line 11

def scope
  @scope
end

#scripttagsObject

Returns the value of attribute scripttags.



17
18
19
# File 'lib/shopify_app/configuration.rb', line 17

def scripttags
  @scripttags
end

#scripttags_manager_queue_nameObject

customise ActiveJob queue names



28
29
30
# File 'lib/shopify_app/configuration.rb', line 28

def scripttags_manager_queue_name
  @scripttags_manager_queue_name
end

#secretObject

Returns the value of attribute secret.



9
10
11
# File 'lib/shopify_app/configuration.rb', line 9

def secret
  @secret
end

#shop_access_scopesObject



99
100
101
# File 'lib/shopify_app/configuration.rb', line 99

def shop_access_scopes
  @shop_access_scopes || scope
end

#user_access_scopesObject



103
104
105
# File 'lib/shopify_app/configuration.rb', line 103

def user_access_scopes
  @user_access_scopes || scope
end

#webhook_jobs_namespaceObject

allow namespacing webhook jobs



38
39
40
# File 'lib/shopify_app/configuration.rb', line 38

def webhook_jobs_namespace
  @webhook_jobs_namespace
end

#webhooksObject

Returns the value of attribute webhooks.



16
17
18
# File 'lib/shopify_app/configuration.rb', line 16

def webhooks
  @webhooks
end

#webhooks_manager_queue_nameObject

Returns the value of attribute webhooks_manager_queue_name.



29
30
31
# File 'lib/shopify_app/configuration.rb', line 29

def webhooks_manager_queue_name
  @webhooks_manager_queue_name
end

Instance Method Details

#has_scripttags?Boolean

Returns:

  • (Boolean)


91
92
93
# File 'lib/shopify_app/configuration.rb', line 91

def has_scripttags?
  scripttags.present?
end

#has_webhooks?Boolean

Returns:

  • (Boolean)


87
88
89
# File 'lib/shopify_app/configuration.rb', line 87

def has_webhooks?
  webhooks.present?
end

#shop_access_scopes_strategyObject



77
78
79
80
# File 'lib/shopify_app/configuration.rb', line 77

def shop_access_scopes_strategy
  return ShopifyApp::AccessScopes::NoopStrategy unless reauth_on_access_scope_changes
  ShopifyApp::AccessScopes::ShopStrategy
end

#shop_session_repositoryObject



73
74
75
# File 'lib/shopify_app/configuration.rb', line 73

def shop_session_repository
  ShopifyApp::SessionRepository.shop_storage
end

#shop_session_repository=(klass) ⇒ Object



69
70
71
# File 'lib/shopify_app/configuration.rb', line 69

def shop_session_repository=(klass)
  ShopifyApp::SessionRepository.shop_storage = klass
end

#user_access_scopes_strategyObject



82
83
84
85
# File 'lib/shopify_app/configuration.rb', line 82

def user_access_scopes_strategy
  return ShopifyApp::AccessScopes::NoopStrategy unless reauth_on_access_scope_changes
  ShopifyApp::AccessScopes::UserStrategy
end

#user_session_repositoryObject



65
66
67
# File 'lib/shopify_app/configuration.rb', line 65

def user_session_repository
  ShopifyApp::SessionRepository.user_storage
end

#user_session_repository=(klass) ⇒ Object



61
62
63
# File 'lib/shopify_app/configuration.rb', line 61

def user_session_repository=(klass)
  ShopifyApp::SessionRepository.user_storage = klass
end