Class: IntercomApp::Generators::InstallGenerator

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

Instance Method Summary collapse

Methods included from Utils

#random_hub_secret, #random_string

Instance Method Details

#create_and_inject_into_omniauth_initializerObject



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/generators/intercom_app/install/install_generator.rb', line 27

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('intercom_provider.rb'))),
    after: "Rails.application.config.middleware.use OmniAuth::Builder do\n"
  )
end

#create_intercom_app_initializerObject



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

def create_intercom_app_initializer
  @app_key = options['app_key']
  @app_secret = options['app_secret']
  @oauth_modal = options['oauth_modal']
  @hub_secret = generate_hub_secret

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

#create_intercom_session_repository_initializerObject



39
40
41
# File 'lib/generators/intercom_app/install/install_generator.rb', line 39

def create_intercom_session_repository_initializer
  copy_file 'intercom_session_repository.rb', 'config/initializers/intercom_session_repository.rb'
end

#mount_engineObject



43
44
45
# File 'lib/generators/intercom_app/install/install_generator.rb', line 43

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