Sha256: 558434b1611cdc25fcbfb755682186d6723df2aafe43aa0219f1604913dcad19

Contents?: true

Size: 609 Bytes

Versions: 5

Compression:

Stored size: 609 Bytes

Contents

module Lens
  class Event
    attr_reader :name, :time, :end, :transaction_id, :payload

    def initialize(options = {})
      raise ArgumentError unless all_params_present?(options)

      @name = options[:name]
      @time = options[:started]
      @end = options[:finished]
      @transaction_id = options[:transaction_id]
      @payload = options[:payload]
    end

    def duration
      1000.0 * (self.end - time)
    end

    private

    def all_params_present?(options)
      [:name, :started, :finished, :transaction_id, :payload].all? do |key|
        options.key? key
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lens-0.0.10 lib/lens/event.rb
lens-0.0.9 lib/lens/event.rb
lens-0.0.8.2 lib/lens/event.rb
lens-0.0.8 lib/lens/event.rb
lens-0.0.7 lib/lens/event.rb