class Circle::CLI::Project

Attributes

repo[R]

Public Class Methods

new(repo) click to toggle source
# File lib/circle/cli/project.rb, line 9
def initialize(repo)
  @repo = repo
  configure
end

Public Instance Methods

build!() click to toggle source
# File lib/circle/cli/project.rb, line 14
def build!
  request CircleCi::Project, :build_branch, repo.branch_name
end
builds() click to toggle source
# File lib/circle/cli/project.rb, line 18
def builds
  @builds ||= request_builds(CircleCi::Project, :recent_builds_branch, repo.branch_name)
end
clear_cache!() click to toggle source
# File lib/circle/cli/project.rb, line 30
def clear_cache!
  @builds = nil
  @recent_builds = nil
end
latest() click to toggle source
# File lib/circle/cli/project.rb, line 26
def latest
  builds.first
end
recent_builds() click to toggle source
# File lib/circle/cli/project.rb, line 22
def recent_builds
  @recent_builds ||= request_builds(CircleCi::Project, :recent_builds)
end
request(klass, action, *args) click to toggle source
# File lib/circle/cli/project.rb, line 35
def request(klass, action, *args)
  response = klass.send(action, repo.user_name, repo.project, *args)

  if response.success?
    response.body
  else
    abort "The following error occurred: #{response.body['message']}"
  end
end

Private Instance Methods

configure() click to toggle source
# File lib/circle/cli/project.rb, line 47
def configure
  CircleCi.configure do |config|
    config.token = repo.circle_token
  end
end
request_builds(*args) click to toggle source
# File lib/circle/cli/project.rb, line 53
def request_builds(*args)
  request(*args).to_a.map { |build| Build.new(self, build) }
end