Module: Mongoid::Userstamp::User::ClassMethods

Defined in:
lib/mongoid/userstamp/user.rb

Instance Method Summary collapse

Instance Method Details

#currentObject



14
15
16
# File 'lib/mongoid/userstamp/user.rb', line 14

def current
  Thread.current[:user]
end

#current=(value) ⇒ Object



18
19
20
# File 'lib/mongoid/userstamp/user.rb', line 18

def current=(value)
  Thread.current[:user] = value
end

#do_as(user, &block) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/mongoid/userstamp/user.rb', line 22

def do_as(user, &block)
  old = self.current

  begin
    self.current = user
    response = block.call unless block.nil?
  ensure
    self.current = old
  end

  response
end