class Hivent::Spec::Signal

Public Class Methods

messages() click to toggle source
# File lib/hivent/spec/signal.rb, line 14
def self.messages
  @store ||= []
end
new(*args) click to toggle source
Calls superclass method Hivent::AbstractSignal::new
# File lib/hivent/spec/signal.rb, line 18
def initialize(*args)
  super
end
reset!() click to toggle source
# File lib/hivent/spec/signal.rb, line 10
def self.reset!
  @store = []
end

Public Instance Methods

emit(_payload, version:, cid: nil, key: nil) click to toggle source
Calls superclass method Hivent::AbstractSignal#emit
# File lib/hivent/spec/signal.rb, line 26
def emit(_payload, version:, cid: nil, key: nil)
  super.tap do |message|
    begin
      Hivent.emitter.broadcast(message)

      report_success(name, version, message)
    rescue => e
      report_failure(e, message)
    end
  end
end
messages() click to toggle source
# File lib/hivent/spec/signal.rb, line 22
def messages
  self.class.messages
end

Private Instance Methods

life_cycle_event_handler() click to toggle source
# File lib/hivent/spec/signal.rb, line 40
def life_cycle_event_handler
  Hivent::Config.life_cycle_event_handler
end
report_failure(e, message) click to toggle source
# File lib/hivent/spec/signal.rb, line 48
def report_failure(e, message)
  life_cycle_event_handler.try(:event_processing_failed, e, message, message.to_json, "queue")
end
report_success(name, version, message) click to toggle source
# File lib/hivent/spec/signal.rb, line 44
def report_success(name, version, message)
  life_cycle_event_handler.try(:event_processing_succeeded, name, version, message)
end
send_message(message, _key, _version) click to toggle source
# File lib/hivent/spec/signal.rb, line 52
def send_message(message, _key, _version)
  messages << { name: @name, message: message }
end