Sha256: 2129016af94c9d062956e3b7f1bc579ddb342bb895f67b7e88cb59b2e2aee1de
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
require 'keylime' require 'travis' module ProspectusTravis GOOD_STATUSES = %w[created received started passed].freeze FAKE_BUILD = Struct.new(:state) ## # Helper for automatically adding build status check class Build < Module def initialize(repo_slug) @repo_slug = repo_slug || raise('No repo specified') end def extended(other) # rubocop:disable Metrics/MethodLength actual_val, expected_val = parse_status other.deps do item do name 'circleci' expected do static set expected_val end actual do static set actual_val end end end end private def client @client ||= Travis::Client.new(uri: uri, access_token: token) end def parse_status return [status, status] if GOOD_STATUSES.include?(status) [status, 'passed'] end def status @status ||= last_build.state end def last_build @last_build ||= repo.last_build || FAKE_BUILD.new('no_results') end def repo @repo ||= client.repo(@repo_slug) end def uri @uri ||= Travis::Client::COM_URI end def token return @token if @token credential = Keylime.new(server: uri) msg = 'TravisCI Token (run `travis token --com` to generate)' @token = credential.get!(msg).password end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
prospectus_travis-0.0.2 | lib/prospectus_travis.rb |