Class: RedBase::User

Inherits:
ActiveRecord::Base show all
Defined in:
app/models/red_base/user.rb

Constant Summary collapse

@@devise_options =

Include default devise modules. Others available are: :token_authenticatable, :confirmable, :lockable, :timeoutable and :omniauthable

[:database_authenticatable,
:registerable,
:recoverable,
:rememberable,
:trackable,
:lockable,
:timeoutable,
:validatable]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.find_from_oauth(auth, signed_in_resource = nil) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'app/models/red_base/user.rb', line 52

def self.find_from_oauth(auth, signed_in_resource=nil)
  user = User.where(:provider => auth.provider, :uid => auth.uid).first

  first_name = auth.info.first_name
  last_name = auth.info.last_name

  if first_name.blank?
    # With first_name being blank last_name is probably is blank too
    name = auth.info.name.split(" ")
    first_name = name[0]
    last_name = name[1,] || ""
  end
  unless user
    user = User.create(first_name: first_name,
                       last_name: last_name,
                       provider: auth.provider,
                       uid: auth.uid,
                       email: auth.info.email,
                       password: Devise.friendly_token[0,20])
  end
  user

end

Instance Method Details

#password_required?Boolean

Returns:

  • (Boolean)


46
47
48
49
50
# File 'app/models/red_base/user.rb', line 46

def password_required?
  # TODO: nil? is not suitable for here we should use empty? or blink?

  (provider.nil? || password.nil?) && super
end