module GoogleAuthentication::ActsAsGoogleUser

enclose AR methods used to give a model the ability to authenticate as a Google User using devise + omniauth combo

Constants

ALLOWED_MODULES

Devise allowed modules

FORBIDDEN_MODULES

Devise forbidden modules, useless in this context

Public Instance Methods

acts_as_google_user(*modules) click to toggle source

Configure a model to be used with devise and google authentication @param [Array] modules a list of symbols used with a devise call

# File lib/google_authentication/acts_as_google_user.rb, line 20
def acts_as_google_user *modules
  # assign devise modules to module variable
  if modules.empty?
    self.devise_modules_to_include = [:omniauthable]
  else
    # restrict modules given to devise
    self.devise_modules_to_include = (modules + [:omniauthable] - FORBIDDEN_MODULES) & ALLOWED_MODULES
  end
  # include model methods
  include ActsAsGoogleUser::Model
end