class Dpl::Providers::Heroku::Api
Attributes
data[R]
Public Instance Methods
deploy()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 32 def deploy pack upload build log verify end
Private Instance Methods
archive_file()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 83 def archive_file expand("~/.dpl.#{app}.tgz") end
build()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 50 def build info :build res = http.post("/apps/#{app}/builds") do |req| req.headers['Content-Type'] = 'application/json' req.body = JSON.dump(source_blob: { url: get_url, version: }) end handle_error(res) unless res.success? @data = symbolize(JSON.parse(res.body)) end
build_id()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 105 def build_id data[:id] end
build_status()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 78 def build_status res = http.get("/apps/#{app}/builds/#{build_id}") JSON.parse(res.body)['status'] end
curl_opts()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 117 def curl_opts tty? ? '' : '-sS' end
get_url()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 87 def get_url source['get_url'] end
log()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 60 def log shell :log, echo: false end
output_stream_url()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 109 def output_stream_url data[:output_stream_url] end
pack()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 42 def pack shell :pack end
put_url()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 91 def put_url source['put_url'] end
source()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 95 def source # this says the endpoint /sources is deprecated: https://devcenter.heroku.com/articles/platform-api-reference#source # this says to use /apps/example-app/sources: https://devcenter.heroku.com/articles/build-and-release-using-the-api#sources-endpoint @source ||= begin res = http.post('/sources') handle_error(res) unless res.success? JSON.parse(res.body)['source_blob'] end end
upload()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 46 def upload shell :upload, echo: false end
verify()
click to toggle source
# File lib/dpl/providers/heroku/api.rb, line 64 def verify loop do case build_status when 'pending' info :pending sleep 5 when 'succeeded' break else error :failed end end end
version()
click to toggle source
Calls superclass method
# File lib/dpl/providers/heroku/api.rb, line 113 def version super || git_sha end