Class: Anoubis::Sso::Server::User
- Inherits:
-
Core::ApplicationRecord
- Object
- Core::ApplicationRecord
- Anoubis::Sso::Server::User
- Defined in:
- app/models/anoubis/sso/server/user.rb
Constant Summary collapse
- VALID_EMAIL_REGEX =
/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
Class Method Summary collapse
Instance Method Summary collapse
- #after_destroy_anubis_sso_server_user ⇒ Object
- #before_save_anubis_sso_server_user ⇒ Object
- #before_validation_anubis_sso_server_user_on_create ⇒ Object
- #clear_cache ⇒ Object
- #password_changed? ⇒ Boolean
- #save_cache ⇒ Object
Class Method Details
.load_cache(redis, uuid) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'app/models/anoubis/sso/server/user.rb', line 63 def self.load_cache(redis, uuid) begin data = JSON.parse redis.get(User.redis_prefix + 'user:' + uuid), { symbolize_names: true } rescue data = nil end unless data user = self.where(uuid: uuid).first if user return JSON.parse(user.to_json(except: [:password_digest]), { symbolize_names: true }) end end data end |
Instance Method Details
#after_destroy_anubis_sso_server_user ⇒ Object
47 48 49 |
# File 'app/models/anoubis/sso/server/user.rb', line 47 def after_destroy_anubis_sso_server_user self.clear_cache end |
#before_save_anubis_sso_server_user ⇒ Object
41 42 43 44 45 |
# File 'app/models/anoubis/sso/server/user.rb', line 41 def before_save_anubis_sso_server_user self.timezone = 'GMT' if !self.timezone self.login = self.login.downcase self.clear_cache end |
#before_validation_anubis_sso_server_user_on_create ⇒ Object
36 37 38 39 |
# File 'app/models/anoubis/sso/server/user.rb', line 36 def before_validation_anubis_sso_server_user_on_create self.uuid = SecureRandom.uuid self.timezone = 'GMT' if !self.timezone end |
#clear_cache ⇒ Object
55 56 57 |
# File 'app/models/anoubis/sso/server/user.rb', line 55 def clear_cache self.redis.del(self.redis_prefix + 'user:' + self.uuid) if self.redis end |
#password_changed? ⇒ Boolean
59 60 61 |
# File 'app/models/anoubis/sso/server/user.rb', line 59 def password_changed? !password.blank? end |
#save_cache ⇒ Object
51 52 53 |
# File 'app/models/anoubis/sso/server/user.rb', line 51 def save_cache self.redis.set(self.redis_prefix + 'user:' + self.uuid, self.to_json(except: [:password_digest])) if self.redis end |