Module: Devise::Models::Masqueradable::ClassMethods

Defined in:
lib/devise_masquerade/model.rb

Instance Method Summary collapse

Instance Method Details

#cache_masquerade_key_by(key) ⇒ Object



21
22
23
# File 'lib/devise_masquerade/model.rb', line 21

def cache_masquerade_key_by(key)
  "#{self.name.pluralize.underscore}:#{key}:masquerade"
end

#find_by_masquerade_key(key) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/devise_masquerade/model.rb', line 29

def find_by_masquerade_key(key)
  id = Rails.cache.read(cache_masquerade_key_by(key))

  # clean up the cached masquerade key value
  remove_masquerade_key!(key)

  where(id: id).first
end

#remove_masquerade_key!(key) ⇒ Object



25
26
27
# File 'lib/devise_masquerade/model.rb', line 25

def remove_masquerade_key!(key)
  Rails.cache.delete(cache_masquerade_key_by(key))
end