module Sequent::Core::Helpers::MessageHandler::ClassMethods

Public Instance Methods

handles_message?(message) click to toggle source
# File lib/sequent/core/helpers/message_handler.rb, line 65
def handles_message?(message)
  message_router.matches_message?(message)
end
message_mapping() click to toggle source
# File lib/sequent/core/helpers/message_handler.rb, line 61
def message_mapping
  message_router.instanceof_routes
end
message_router() click to toggle source
# File lib/sequent/core/helpers/message_handler.rb, line 69
def message_router
  @message_router ||= MessageRouter.new
end
on(*args, **opts, &block) click to toggle source
# File lib/sequent/core/helpers/message_handler.rb, line 42
def on(*args, **opts, &block)
  OnArgumentsValidator.validate_arguments!(*args)

  message_matchers = args.map { |arg| MessageMatchers::ArgumentCoercer.coerce_argument(arg) }

  message_router.register_matchers(
    *message_matchers,
    block,
  )

  opts.each do |name, value|
    option_registry.call_option(self, name, message_matchers, value)
  end
end
option(name, &block) click to toggle source
# File lib/sequent/core/helpers/message_handler.rb, line 57
def option(name, &block)
  option_registry.register_option(name, block)
end