Sha256: 84950e611a5c87e6c71ad26e62921394fbd0e9091436938643d617d1c872e15c
Contents?: true
Size: 1.11 KB
Versions: 4
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module HermesMessengerOfTheGods module Endpoints class Local < Base class << self attr_accessor :transmit_method def clear_queue! @received = nil end def received @received ||= Hash.new { |h, k| h[k] = [] } end end def received self.class.received[endpoint] end def transmit(msg, raw_msg, opts = {}) if self.class.transmit_method self.class.transmit_method.call(self, msg, raw_msg) else do_transmit(msg, opts, raw_msg) end end def do_transmit(msg, opts, raw_message = {}) pub_opts = fetch_option(:publish_options, raw_message) || {} received << { message: msg, options: opts.merge(pub_opts) } "Recorded msg ##{self.class.received[endpoint].length} for #{endpoint}" end end end end if defined?(RSpec) RSpec.configure do |config| config.after(:each) do HermesMessengerOfTheGods::Endpoints::Local.clear_queue! HermesMessengerOfTheGods::Endpoints::Local.transmit_method = nil end end end
Version data entries
4 entries across 4 versions & 1 rubygems