class CircleCiBuildStatus::Build

Public Instance Methods

status() click to toggle source
# File lib/circle_ci_build_status.rb, line 11
def status
  build_status = project_details["Projects"]["Project"]["@lastBuildStatus"]
  activity = project_details["Projects"]["Project"]["@activity"]
  print_status(build_status, activity)
rescue ProjectNotFound
  print_error
rescue Faraday::ConnectionFailed
  puts "\nSorry, we failed to get a connection.\n".red
end

Private Instance Methods

build_circle_ci_url() click to toggle source
# File lib/circle_ci_build_status.rb, line 23
def build_circle_ci_url
  "https://circleci.com/gh/#{ENV["GITHUB_USER"]}/#{project_name}/tree/#{current_branch}.cc.xml?circle-token=#{ENV["CIRCLE_CI_TOKEN"]}"
end
current_branch() click to toggle source
# File lib/circle_ci_build_status.rb, line 37
def current_branch
  (`git rev-parse --abbrev-ref HEAD`).strip
end
print_error() click to toggle source
print_status(status, activity) click to toggle source
project_details() click to toggle source
# File lib/circle_ci_build_status.rb, line 27
def project_details
  response = ::Faraday.get(build_circle_ci_url)
  raise ProjectNotFound if response.status == 404
  ::Nori.new.parse(response.body)
end
project_name() click to toggle source
# File lib/circle_ci_build_status.rb, line 33
def project_name
  Dir.pwd =~ /.*\/(.*?)$/ ; $1
end