Class: Janky::Builder::Receiver

Inherits:
Object
  • Object
show all
Defined in:
lib/janky/builder/receiver.rb

Class Method Summary collapse

Class Method Details

.call(env) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/janky/builder/receiver.rb', line 4

def self.call(env)
  request = Rack::Request.new(env)
  default_base_url = Builder[:default].url
  payload = Payload.parse(request.body, default_base_url)

  if payload.started?
    Build.start(payload.id, payload.url)
  elsif payload.completed?
    Build.complete(payload.id, payload.green?)
  else
    return Rack::Response.new("Bad Request", 400).finish
  end

  Rack::Response.new("OK", 201).finish
end