Class: Shrine::Plugins::Instrumentation::Event

Inherits:
Object
  • Object
show all
Defined in:
lib/shrine/plugins/instrumentation.rb

Overview

Abstracts away different kind of event objects (‘ActiveSupport::Notifications::Event` and `Dry::Events::Event`).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(event) ⇒ Event

Returns a new instance of Event.



182
183
184
# File 'lib/shrine/plugins/instrumentation.rb', line 182

def initialize(event)
  @event = event
end

Instance Attribute Details

#eventObject (readonly)

Returns the value of attribute event.



180
181
182
# File 'lib/shrine/plugins/instrumentation.rb', line 180

def event
  @event
end

Instance Method Details

#[](name) ⇒ Object



194
195
196
# File 'lib/shrine/plugins/instrumentation.rb', line 194

def [](name)
  event.payload.fetch(name)
end

#durationObject



198
199
200
# File 'lib/shrine/plugins/instrumentation.rb', line 198

def duration
  library_send(:duration)
end

#nameObject



186
187
188
# File 'lib/shrine/plugins/instrumentation.rb', line 186

def name
  library_send(:name).chomp(".shrine").to_sym
end

#payloadObject



190
191
192
# File 'lib/shrine/plugins/instrumentation.rb', line 190

def payload
  event.payload
end