Class: Morpho::User
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Morpho::User
- Includes:
- Tokenable
- Defined in:
- app/models/morpho/user.rb
Class Method Summary collapse
Instance Method Summary collapse
- #active? ⇒ Boolean
- #add_provider_to_user(provider, uid) ⇒ Object
- #register_last_activity_time! ⇒ Object
- #register_last_login_activity!(ip_address) ⇒ Object
- #resend_activation_needed_email! ⇒ Object
- #resend_unlock_token_email! ⇒ Object
- #unlocked? ⇒ Boolean
Methods included from Tokenable
Class Method Details
.create_and_validate_from_provider(provider, uid, attrs) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/models/morpho/user.rb', line 38 def create_and_validate_from_provider(provider, uid, attrs) user = new(attrs) user.send(sorcery_config.authentications_class.name.demodulize.underscore.pluralize).build( sorcery_config.provider_uid_attribute_name => uid, sorcery_config.provider_attribute_name => provider ) saved = user.sorcery_adapter.save [user, saved] end |
Instance Method Details
#active? ⇒ Boolean
9 10 11 |
# File 'app/models/morpho/user.rb', line 9 def active? self.activation_state == 'active' end |
#add_provider_to_user(provider, uid) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'app/models/morpho/user.rb', line 52 def add_provider_to_user(provider, uid) authentications = sorcery_config.authentications_class.name.demodulize.underscore.pluralize if sorcery_adapter.find_authentication_by_oauth_credentials(authentications, provider, uid).nil? user = send(authentications).build( sorcery_config.provider_uid_attribute_name => uid, sorcery_config.provider_attribute_name => provider ) user.sorcery_adapter.save(validate: false) else user = false end user end |
#register_last_activity_time! ⇒ Object
22 23 24 |
# File 'app/models/morpho/user.rb', line 22 def register_last_activity_time! self.set_last_activity_at(Time.now) end |
#register_last_login_activity!(ip_address) ⇒ Object
17 18 19 20 |
# File 'app/models/morpho/user.rb', line 17 def register_last_login_activity!(ip_address) self.set_last_login_at(Time.now) self.set_last_ip_address(ip_address) end |
#resend_activation_needed_email! ⇒ Object
26 27 28 29 30 |
# File 'app/models/morpho/user.rb', line 26 def resend_activation_needed_email! self.setup_activation self.reload self.send_activation_needed_email! end |
#resend_unlock_token_email! ⇒ Object
32 33 34 |
# File 'app/models/morpho/user.rb', line 32 def resend_unlock_token_email! self.login_lock! end |
#unlocked? ⇒ Boolean
13 14 15 |
# File 'app/models/morpho/user.rb', line 13 def unlocked? !self.login_locked? end |