class IntercomApp::Generators::InstallGenerator

Public Instance Methods

create_and_inject_into_omniauth_initializer() click to toggle source
# 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_initializer() click to toggle source
# 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_initializer() click to toggle source
# 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_engine() click to toggle source
# File lib/generators/intercom_app/install/install_generator.rb, line 43
def mount_engine
  route "mount IntercomApp::Engine, at: '/'"
end

Private Instance Methods

generate_hub_secret() click to toggle source
# File lib/generators/intercom_app/install/install_generator.rb, line 49
def generate_hub_secret
  if yes?("In order to increase the safety of your app, would you like your webhooks to be automatically signed?(y/N)")
    return random_hub_secret
  else
    return ''
  end
end