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
- #inactive? ⇒ Boolean
- #register_last_activity_time! ⇒ Object
- #register_last_login_activity!(ip_address) ⇒ Object
- #resend_activation_needed_email! ⇒ Object
- #resend_unlock_token_email! ⇒ Object
- #setup_activation! ⇒ Object
- #unlocked? ⇒ Boolean
Methods included from Tokenable
Class Method Details
.create_and_validate_from_provider(provider, uid, attrs) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/models/morpho/user.rb', line 46 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
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'app/models/morpho/user.rb', line 60 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 |
#inactive? ⇒ Boolean
13 14 15 |
# File 'app/models/morpho/user.rb', line 13 def inactive? self.activation_state == 'pending' end |
#register_last_activity_time! ⇒ Object
31 32 33 |
# File 'app/models/morpho/user.rb', line 31 def register_last_activity_time! self.set_last_activity_at(Time.now) end |
#register_last_login_activity!(ip_address) ⇒ Object
26 27 28 29 |
# File 'app/models/morpho/user.rb', line 26 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
35 36 37 38 |
# File 'app/models/morpho/user.rb', line 35 def resend_activation_needed_email! self.setup_activation! self.send_activation_needed_email! end |
#resend_unlock_token_email! ⇒ Object
40 41 42 |
# File 'app/models/morpho/user.rb', line 40 def resend_unlock_token_email! self.login_lock! end |
#setup_activation! ⇒ Object
21 22 23 24 |
# File 'app/models/morpho/user.rb', line 21 def setup_activation! self.setup_activation self.save end |
#unlocked? ⇒ Boolean
17 18 19 |
# File 'app/models/morpho/user.rb', line 17 def unlocked? !self.login_locked? end |