Sha256: 889c685d8cbe9e00e87ec79c43cc4befbee7b3d7cb6c638362ae60b7cdecb6d0
Contents?: true
Size: 1.57 KB
Versions: 7
Compression:
Stored size: 1.57 KB
Contents
module Sorcery module Model module Adapters module ActiveRecord def self.included(klass) klass.extend ClassMethods klass.send(:include, InstanceMethods) end module InstanceMethods def update_single_attribute(name, value) self.send(:"#{name}=", value) primary_key = self.class.primary_key self.class.where(:"#{primary_key}" => self.send(:"#{primary_key}")).update_all(name => value) end end module ClassMethods def column_name(attribute) return "LOWER(#{attribute})" if (@sorcery_config.downcase_username_before_authenticating) return "#{attribute}" end def find_by_credentials(credentials) sql = @sorcery_config.username_attribute_names.map{|attribute| column_name(attribute) + " = :login"} where(sql.join(' OR '), :login => credentials[0]).first end def find_by_sorcery_token(token_attr_name, token) where("#{token_attr_name} = ?", token).first end def get_current_users config = sorcery_config where("#{config.last_activity_at_attribute_name} IS NOT NULL") \ .where("#{config.last_logout_at_attribute_name} IS NULL OR #{config.last_activity_at_attribute_name} > #{config.last_logout_at_attribute_name}") \ .where("#{config.last_activity_at_attribute_name} > ? ", config.activity_timeout.seconds.ago.utc.to_s(:db)) end end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems