module AuthClient::User::ClassMethods
Public Instance Methods
acts_as_auth_client_user()
click to toggle source
# File lib/auth_client/user.rb, line 60 def acts_as_auth_client_user define_method :permissions do ::Permission.where :user_id => id end define_method(:has_permission?) do |role:, context: nil| context ? permissions.for_role(role).for_context(context).exists? : permissions.for_role(role).exists? end end
find_by(id:)
click to toggle source
# File lib/auth_client/user.rb, line 72 def find_by(id:) redis_data = RedisUserConnector.get(id) return nil if (redis_data.nil? || redis_data.empty?) attributes = redis_data.merge(:id => id) build_user attributes end
Private Instance Methods
build_user(attributes)
click to toggle source
# File lib/auth_client/user.rb, line 84 def build_user(attributes) new.tap do |user| attributes.each do |attribute, value| name = "@#{attribute}" user.instance_variable_set name, value user.define_singleton_method attribute do instance_variable_get name end end end end