Class: IIPolicy::LogSubscriber

Inherits:
ActiveSupport::LogSubscriber
  • Object
show all
Defined in:
lib/ii_policy/log_subscriber.rb

Instance Method Summary collapse

Instance Method Details

#additional_log(event) ⇒ Object



14
15
16
17
18
# File 'lib/ii_policy/log_subscriber.rb', line 14

def additional_log(event)
  additions = ["Duration: %.1fms" % event.duration]
  additions << "Allocations: %d" % event.allocations if event.respond_to?(:allocations)
  additions.join(', ')
end

#call(event) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/ii_policy/log_subscriber.rb', line 5

def call(event)
  debug do
    policy = event.payload[:policy]
    action = event.payload[:action]
    item = " for #{policy.item.class}##{policy.item.id}" if policy.item
    "Called #{policy.class}##{action}#{item} and return #{policy._result} (#{additional_log(event)})"
  end
end