Sha256: 208c31c63450e405ac31bd9a216fa9e6d9d3293c78815e23b4bb6fa2a747d388
Contents?: true
Size: 1.25 KB
Versions: 3
Compression:
Stored size: 1.25 KB
Contents
module Travis module Surveillance class Project attr_accessor :description, :id, :name, :owner, :slug, :status def initialize(name) @owner, @name = name.split('/') @slug = name populate end def add_build(json) if build = build_for(json['id']) return build end build = Build.new(json.merge({'project' => self})) builds << build build end def build_for(id) builds.find { |b| b.id == id } end def building? status.nil? end def builds @builds ||= [] end def failed? !status.nil? && !passed? end def passed? !status.nil? && status.zero? end private def get_details if Travis::Surveillance.mocking? JSON.parse(IO.read(File.dirname(__FILE__) + "/../../../spec/support/projects/#{slug.gsub('/', '-')}.json")) else JSON.parse(open("http://travis-ci.org/#{slug}.json").read) end end def populate details = get_details @description = details['description'] @id = details['id'] @status = details['last_build_status'] end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
travis-surveillance-0.0.3 | lib/travis/surveillance/project.rb |
travis-surveillance-0.0.2 | lib/travis/surveillance/project.rb |
travis-surveillance-0.0.1 | lib/travis/surveillance/project.rb |