Sha256: 4fc0506c4561c30a0c5fa8a6ceee6bbce42262916f673d035f1618202e7a433f

Contents?: true

Size: 629 Bytes

Versions: 34

Compression:

Stored size: 629 Bytes

Contents

module Celluloid
  # Wraps all events and context for a single incident.
  class Incident
    attr_accessor :pid
    attr_accessor :events, :triggering_event

    def initialize(events, triggering_event=nil)
      @events = events
      @triggering_event = triggering_event
      @pid = $$
    end

    # Merge two incidents together. This may be useful if two incidents occur at the same time.
    def merge(*other_incidents)
      merged_events = other_incidents.flatten.inject(events) do |events, incident|
        events += incident.events
      end
      Incident.new(merged_events.sort, triggering_event)
    end
  end
end

Version data entries

34 entries across 32 versions & 7 rubygems

Version Path
sidekiq-statsd-0.1.1 vendor/ruby/1.9.1/gems/celluloid-0.14.0/lib/celluloid/logging/incident.rb
sidekiq-statsd-0.1.0 vendor/ruby/1.9.1/gems/celluloid-0.14.0/lib/celluloid/logging/incident.rb
celluloid-0.14.0 lib/celluloid/logging/incident.rb
celluloid-0.14.0.pre lib/celluloid/logging/incident.rb
celluloid-0.13.0 lib/celluloid/logging/incident.rb
celluloid-0.13.0.pre2 lib/celluloid/logging/incident.rb
celluloid-0.13.0.pre lib/celluloid/logging/incident.rb
celluloid-0.12.4 lib/celluloid/logging/incident.rb
celluloid-0.12.4.pre2 lib/celluloid/logging/incident.rb
celluloid-0.12.4.pre lib/celluloid/logging/incident.rb
celluloid-0.12.3 lib/celluloid/logging/incident.rb
celluloid-0.12.2 lib/celluloid/logging/incident.rb
celluloid-0.12.1 lib/celluloid/logging/incident.rb
celluloid-0.12.1.pre2 lib/celluloid/logging/incident.rb