Class: Anoubis::Sso::Server::User

Inherits:
Core::ApplicationRecord
  • Object
show all
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

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_userObject



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_userObject



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. = self..downcase
  self.clear_cache
end

#before_validation_anubis_sso_server_user_on_createObject



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_cacheObject



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

Returns:

  • (Boolean)


59
60
61
# File 'app/models/anoubis/sso/server/user.rb', line 59

def password_changed?
  !password.blank?
end

#save_cacheObject



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