Class: ShopifyApp::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/shopify_app/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_dotenv_gemObject



14
15
16
# File 'lib/generators/shopify_app/install/install_generator.rb', line 14

def add_dotenv_gem
  gem('dotenv-rails', group: [:test, :development])
end

#create_and_inject_into_omniauth_initializerObject



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/generators/shopify_app/install/install_generator.rb', line 30

def create_and_inject_into_omniauth_initializer
  unless File.exist? "config/initializers/omniauth.rb"
    copy_file 'omniauth.rb', 'config/initializers/omniauth.rb'
  end

  inject_into_file(
    'config/initializers/omniauth.rb',
    File.read(File.expand_path(find_in_source_paths('shopify_provider.rb'))),
    after: "Rails.application.config.middleware.use OmniAuth::Builder do\n"
  )
end

#create_embedded_app_layoutObject



42
43
44
45
46
47
48
49
50
# File 'lib/generators/shopify_app/install/install_generator.rb', line 42

def create_embedded_app_layout
  if embedded_app?
    copy_file 'embedded_app.html.erb', 'app/views/layouts/embedded_app.html.erb'
    copy_file('shopify_app.js', 'app/assets/javascripts/shopify_app.js')
    copy_file '_flash_messages.html.erb', 'app/views/layouts/_flash_messages.html.erb'
    copy_file('flash_messages.js',
      'app/assets/javascripts/flash_messages.js')
  end
end

#create_session_store_initializerObject



26
27
28
# File 'lib/generators/shopify_app/install/install_generator.rb', line 26

def create_session_store_initializer
  copy_file('session_store.rb', 'config/initializers/session_store.rb')
end

#create_shopify_app_initializerObject



18
19
20
21
22
23
24
# File 'lib/generators/shopify_app/install/install_generator.rb', line 18

def create_shopify_app_initializer
  @application_name = format_array_argument(options['application_name'])
  @scope = format_array_argument(options['scope'])
  @api_version = options['api_version'] || ShopifyAPI::Meta.admin_versions.find(&:latest_supported).handle

  template 'shopify_app.rb', 'config/initializers/shopify_app.rb'
end

#create_user_agent_initializerObject



52
53
54
# File 'lib/generators/shopify_app/install/install_generator.rb', line 52

def create_user_agent_initializer
  template 'user_agent.rb', 'config/initializers/user_agent.rb'
end

#mount_engineObject



56
57
58
# File 'lib/generators/shopify_app/install/install_generator.rb', line 56

def mount_engine
  route "mount ShopifyApp::Engine, at: '/'"
end