Class: TwoPercent::EventHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/two_percent/event_handler.rb

Constant Summary collapse

METHOD_EVENT =
{
  "POST" => "TwoPercent::CreateEvent",
  "PATCH" => "TwoPercent::UpdateEvent",
  "PUT" => "TwoPercent::ReplaceEvent",
  "DELETE" => "TwoPercent::DeleteEvent",
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(method) ⇒ EventHandler

Returns a new instance of EventHandler.



16
17
18
19
20
# File 'lib/two_percent/event_handler.rb', line 16

def initialize(method)
  @event = METHOD_EVENT.fetch(method) do
    raise "Invalid method #{method}"
  end.constantize
end

Class Method Details

.dispatch(method, **attrs) ⇒ Object



5
6
7
# File 'lib/two_percent/event_handler.rb', line 5

def self.dispatch(method, **attrs)
  EventHandler.new(method).dispatch(**attrs)
end

Instance Method Details

#dispatch(**attrs) ⇒ Object



22
23
24
# File 'lib/two_percent/event_handler.rb', line 22

def dispatch(**attrs)
  @event.create(**attrs)
end