class OmniauthInitializerGenerator

Public Instance Methods

add_callback_route() click to toggle source
# File lib/generators/omniauth_initializer/omniauth_initializer_generator.rb, line 27
def add_callback_route
  line = "Application.routes.draw do"
  gsub_file 'config/routes.rb', /(#{Regexp.escape(line)})/mi do |match|
    "#{match}\n  \n# Omniauth Callback will hit the action below\nget '/auth/:provider/callback', :to => '#{file_name.pluralize}#create'\n"
  end
end
copy_api_keys_file() click to toggle source
# File lib/generators/omniauth_initializer/omniauth_initializer_generator.rb, line 8
def copy_api_keys_file
  copy_file "api_keys.yml", "config/api_keys.yml"
end
copy_sessions_controller_file() click to toggle source
# File lib/generators/omniauth_initializer/omniauth_initializer_generator.rb, line 23
def copy_sessions_controller_file
  copy_file "sessions_controller.rb", "app/controllers/#{file_name.pluralize}_controller.rb"
end
create_omniauth_initializer_file() click to toggle source
# File lib/generators/omniauth_initializer/omniauth_initializer_generator.rb, line 12
  def create_omniauth_initializer_file
    create_file "config/initializers/omniauth_initializer.rb", <<-FILE
API_KEYS = YAML::load_file("#{Rails.root}/config/api_keys.yml")[Rails.env]
Rails.application.config.middleware.use OmniAuth::Builder do
  # Uncomment the providers you wish to use and/or add other providers.
  #provider :twitter, API_KEYS['twitter']['api_key'], API_KEYS['twitter']['api_secret']
  #provider :facebook, API_KEYS['facebook']['api_key'], API_KEYS['facebook']['api_secret']
end
    FILE
  end