Sha256: 797390eb33dd8ea2b424adfe758fedd0d664bb0638c88a35c849a3ad9a7f8a38
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
require 'circleci' require 'circle/cli/build' module Circle module CLI class Project attr_reader :repo def initialize(repo) @repo = repo configure end def build! request CircleCi::Project, :build_branch, repo.branch_name end def builds @builds ||= to_builds(request(CircleCi::Project, :recent_builds_branch, repo.branch_name)) end def recent_builds @recent_builds ||= to_builds(request(CircleCi::Project, :recent_builds)) end def latest builds.first end def clear_cache! @builds = nil @recent_builds = nil end def request(klass, action, *args) response = klass.send(action, repo.user_name, repo.project, *args) if response.success? response.body else $stderr.puts 'One or more errors occurred:' response.errors.each do |error| $stderr.puts "+ #{error.message}" end exit 1 end end private def configure CircleCi.configure do |config| config.token = repo.circle_token end end def to_builds(arr) arr.to_a.map { |build| Build.new(self, build) } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
circle-cli-0.1.1 | lib/circle/cli/project.rb |