class Maitredee::Adapters::TestAdapter

Constants

PERMITTED_TYPES

@private

Public Class Methods

serialize_argument(argument) click to toggle source

@api private

# File lib/maitredee/adapters/test_adapter.rb, line 31
def self.serialize_argument(argument)
  case argument
  when *PERMITTED_TYPES
    argument
  when Array
    argument.each { |arg| serialize_argument(arg) }
  when Hash
    result = argument.each_with_object({}) do |(key, value), hash|
      hash[key.to_s] = serialize_argument(value)
    end
    result
  else
    raise ArgumentError, "#{argument} is an invalid json type"
  end
end

Public Instance Methods

add_worker(subscriber_class) click to toggle source

no-op

# File lib/maitredee/adapters/test_adapter.rb, line 22
def add_worker(subscriber_class)
end
messages() click to toggle source

returns all messages that have been published since last reset

# File lib/maitredee/adapters/test_adapter.rb, line 17
def messages
  @messages ||= []
end
publish(message) click to toggle source

logs message published

# File lib/maitredee/adapters/test_adapter.rb, line 10
def publish(message)
  message = message.dup
  message.body = self.class.serialize_argument(message.body)
  messages << message
end
reset() click to toggle source

resets messages logged

# File lib/maitredee/adapters/test_adapter.rb, line 26
def reset
  messages.clear
end