class Dpl::Providers::Heroku::Api
Attributes
Public Instance Methods
Source
# File lib/dpl/providers/heroku/api.rb, line 32 def deploy pack upload build log verify end
Private Instance Methods
Source
# File lib/dpl/providers/heroku/api.rb, line 83 def archive_file expand("~/.dpl.#{app}.tgz") end
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
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
Source
# File lib/dpl/providers/heroku/api.rb, line 117 def curl_opts tty? ? '' : '-sS' end
Source
# File lib/dpl/providers/heroku/api.rb, line 109 def output_stream_url data[:output_stream_url] end
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
Source
# File lib/dpl/providers/heroku/api.rb, line 46 def upload shell :upload, echo: false end
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
Source
# File lib/dpl/providers/heroku/api.rb, line 113 def version super || git_sha end
Calls superclass method