class Escobar::Heroku::Build
Class representing a heroku build
Attributes
app_id[R]
client[R]
command_id[RW]
github_url[RW]
id[R]
pipeline_name[RW]
sha[RW]
Public Class Methods
new(client, app_id, id)
click to toggle source
# File lib/escobar/heroku/build.rb, line 12 def initialize(client, app_id, id) @id = id @app_id = app_id @client = client end
Public Instance Methods
app()
click to toggle source
# File lib/escobar/heroku/build.rb, line 34 def app @app ||= Escobar::Heroku::App.new(client, app_id) end
dashboard_build_output_url()
click to toggle source
# File lib/escobar/heroku/build.rb, line 38 def dashboard_build_output_url "https://dashboard.heroku.com/apps/#{app.name}/activity/builds/#{id}" end
info()
click to toggle source
# File lib/escobar/heroku/build.rb, line 18 def info @info ||= client.heroku.get("/apps/#{app_id}/builds/#{id}") end
release_id()
click to toggle source
# File lib/escobar/heroku/build.rb, line 30 def release_id info["release"]["id"] end
releasing?()
click to toggle source
# File lib/escobar/heroku/build.rb, line 26 def releasing? status == "succeeded" && !release_id.nil? end
repository()
click to toggle source
# File lib/escobar/heroku/build.rb, line 42 def repository github_url && github_url.match(Escobar::GitHub::REPOSITORY_REGEX)[1] end
status()
click to toggle source
# File lib/escobar/heroku/build.rb, line 22 def status info["status"] end
to_job_json()
click to toggle source
# File lib/escobar/heroku/build.rb, line 46 def to_job_json { sha: sha, pipeline_name: pipeline_name, repo: repository, app_id: app_id, app_name: app.name, build_id: id, command_id: command_id, target_url: dashboard_build_output_url, deployment_url: github_url } end