Class: Carnival::AdminUser
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Carnival::AdminUser
- Defined in:
- app/models/carnival/admin_user.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.find_for_omni_auth(auth) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/models/carnival/admin_user.rb', line 21 def self.find_for_omni_auth(auth) if user = AdminUser.where(email: auth.info.email).first user.provider = auth.provider user.uid = auth.uid user else where(auth.slice(:provider, :uid)).first_or_create do |user| user.provider = auth.provider user.uid = auth.uid user.name = auth.info.name user.email = auth.info.email user.avatar = auth.info.image user.password = Devise.friendly_token[0,20] end end end |
.new_with_session(params, session) ⇒ Object
13 14 15 16 17 18 19 |
# File 'app/models/carnival/admin_user.rb', line 13 def self.new_with_session(params, session) super.tap do |user| if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"] user.email = data["email"] if user.email.blank? end end end |
Instance Method Details
#unread_notifications ⇒ Object
9 10 11 |
# File 'app/models/carnival/admin_user.rb', line 9 def unread_notifications self.admin_user_notifications.where(:read => false).to_a end |