Module: Saseo::Whodunnit

Extended by:
Whodunnit
Included in:
Whodunnit
Defined in:
lib/saseo/whodunnit.rb

Instance Method Summary collapse

Instance Method Details

#connectionObject



32
33
34
# File 'lib/saseo/whodunnit.rb', line 32

def connection
  return ActiveRecord::Base.connection if Saseo::Extensions::ActiveRecord::Detector.active_record_detected? && ActiveRecord::Base.connected?
end

#impersonate(who) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/saseo/whodunnit.rb', line 19

def impersonate(who)
  whodidit    = whodunnit
  @@whodunnit = who
  yield
ensure
  @@whodunnit = whodidit
end

#set_db_whodunnit(who = nil) ⇒ Object



27
28
29
30
# File 'lib/saseo/whodunnit.rb', line 27

def set_db_whodunnit(who = nil)
  who ||= whodunnit
  connection.execute "SET saseo.whodunnit TO '#{connection.quote_string who.to_s}'"
end

#whodunnitObject



8
9
10
# File 'lib/saseo/whodunnit.rb', line 8

def whodunnit
  @@whodunnit ||= nil
end

#whodunnit=(val) ⇒ Object



12
13
14
15
16
17
# File 'lib/saseo/whodunnit.rb', line 12

def whodunnit=(val)
  @@whodunnit = val
  if Saseo::Extensions::ActiveRecord::Detector.active_record_detected? && ActiveRecord::Base.connected?
    set_db_whodunnit(whodunnit)
  end
end