Class: Toot::HandlerService

Inherits:
Object
  • Object
show all
Defined in:
lib/toot/handler_service.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.call(env) ⇒ Object



20
21
22
# File 'lib/toot/handler_service.rb', line 20

def self.call(env)
  new.call(env)
end

Instance Method Details

#call(env) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/toot/handler_service.rb', line 6

def call(env)
  request = Rack::Request.new(env)
  response = Rack::Response.new
  event_data = JSON.parse(request.body.read)

  if Toot.config.subscriptions_for_channel(event_data["channel"]).any?
    CallsHandlers.perform_async(event_data)
  else
    response["X-Toot-Unsubscribe"] = "True"
  end

  response.finish
end