class WeirdInteractor::Base
Base
interactor.
Attributes
params[R]
Public Class Methods
new(params)
click to toggle source
@param params [ActionController::Parameters]
# File lib/weird_interactor/base.rb, line 9 def initialize(params) @params = params end
Public Instance Methods
on(*event_names, &block)
click to toggle source
Register callback on event.
@param event_names [Symbol, String, Array<Symbol>, Array<String>] @param block [Proc]
# File lib/weird_interactor/base.rb, line 24 def on(*event_names, &block) Array(event_names).each do |event_name| registered_events[event_name] = block end end
publish(event_name, data)
click to toggle source
Execute callback for the given event.
@param event_name [Symbol, String] @param data [Object]
# File lib/weird_interactor/base.rb, line 34 def publish(event_name, data) handler = registered_events[event_name] unless handler.nil? handler.call(data) else raise UnregisteredEventCalled, event_name end end
registered_events()
click to toggle source
Registered callbacks for events.
@return [Hash]
# File lib/weird_interactor/base.rb, line 16 def registered_events @registered_events ||= {} end