Class: Infinum::Omniauth::Generators::AuthGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Infinum::Omniauth::Generators::AuthGenerator
- Defined in:
- lib/generators/infinum/omniauth/auth_generator.rb
Instance Method Summary collapse
-
#add_auth_controller ⇒ Object
def add_auth_helper methods = “n”\ “ def sign_in(user)n”\ “ session = OmniAuth::AuthHash.new({n”\ “ :provider => ‘infinum’,n”\ “ :uid => (user.try(:uid) || ‘75’),n”\ “ :extra => {n”\ “ :first_name => user.try(:first_name),n”\ “ :last_name => user.try(:last_name), n”\ “ :email => user.try(:email),n”\ “ :avatar_url => user.try(:avatar_url)n”\ “ }n”\ “ }) n”\ “ end # sign_inn”\ “ n”\ “ def sign_outn”\ “ session = niln”\ “ end # sign_outn”.
-
#warn_user ⇒ Object
add_auth_controller.
Instance Method Details
#add_auth_controller ⇒ Object
def add_auth_helper methods = “n”\ “ def sign_in(user)n”\ “ session = OmniAuth::AuthHash.new({n”\ “ :provider => ‘infinum’,n”\ “ :uid => (user.try(:uid) || ‘75’),n”\ “ :extra => {n”\ “ :first_name => user.try(:first_name),n”\ “ :last_name => user.try(:last_name), n”\ “ :email => user.try(:email),n”\ “ :avatar_url => user.try(:avatar_url)n”\ “ }n”\ “ }) n”\ “ end # sign_inn”\ “ n”\ “ def sign_outn”\ “ session = niln”\ “ end # sign_outn”
append_to_file “app/helpers/application_helper.rb”, methods, after: Regexp.new(“^.*” + Regexp.escape(“module ApplicationHelper”) + “.*$”, Regexp::IGNORECASE) end # add_auth_helper
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/generators/infinum/omniauth/auth_generator.rb', line 33 def add_auth_controller methods = "\n"\ "\n"\ " before_action :authenticate_user!"\ "\n"\ " helper_method :current_user\n"\ " helper_method :authenticate_user!\n"\ "\n"\ " def authenticate_user!\n"\ " if current_user.blank?\n"\ " respond_to do |format|\n"\ " format.html {\n"\ " redirect_to \"/auth/infinum?origin=\#{request.url}\"\n"\ " }\n"\ " format.json {\n"\ " render :json => { 'error' => 'Access Denied' }.to_json\n"\ " }\n"\ " end\n"\ " end\n"\ " end\n"\ "\n"\ " def current_user\n"\ " return nil unless session[:user_id]\n"\ " @current_user ||= USER_MODEL.new_from_omniauth(session[:user_id])\n"\ " end\n" append_to_file "app/controllers/application_controller.rb", methods, after: Regexp.new("^.*" + Regexp.escape("class ApplicationController") + ".*$", Regexp::IGNORECASE) end |
#warn_user ⇒ Object
add_auth_controller
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/generators/infinum/omniauth/auth_generator.rb', line 63 def warn_user return nil if [:no_warnings] say "To complete this process you have to add the following" say "method to your user model:" say "" say " def self.new_from_omniauth(omniauth)" say " user = self.find_by_uid(omniauth['uid']) || self.find_by_email(omniauth[:extra][:email]) || self.new(:uid => omniauth['uid'])" say " user.uid = omniauth['uid']" say " user.first_name = omniauth[:extra][:first_name]" say " user.last_name = omniauth[:extra][:last_name]" say " user.email = omniauth[:extra][:email]" say " user.avatar_url = omniauth[:extra][:avatar_url]" say " user.save" say " user" say " end" say "" say "Remember to teplace USER_MODEL with the name of your user model" say "in the ApplicationControllar and ApplicationHelper" say "" say "This configuration can also be done by calling:" say " rails generate omniauth_infinum:config" say "" end |