Sha256: 4d335eea524d7db35af3fae37246954053dcdd018328c9f97b50322306f374a1
Contents?: true
Size: 1.19 KB
Versions: 5
Compression:
Stored size: 1.19 KB
Contents
module Janky module Builder class Payload def self.parse(json) parsed = Yajl.load(json) build = parsed["build"] new( build["phase"], build["parameters"]["JANKY_ID"], build["full_url"], build["status"] ) end def self.start(id, url) new("STARTED", id, url, nil) end def self.complete(id, green) status = (green ? "SUCCESS" : "FAILED") new("FINISHED", id, nil, status) end def initialize(phase, id, url, status) @phase = phase @id = id @url = url @status = status end attr_reader :id, :url def started? @phase == "STARTED" end def completed? @phase == "FINISHED" end def green? if completed? @status == "SUCCESS" else false end end def to_json { :build => { :phase => @phase, :status => @status, :full_url => @url, :parameters => { "JANKY_ID" => @id } } }.to_json end end end end
Version data entries
5 entries across 5 versions & 1 rubygems