Class: Hatchet::GitApp

Inherits:
App
  • Object
show all
Defined in:
lib/hatchet/git_app.rb

Overview

used for deploying a test app to heroku via git

Constant Summary

Constants inherited from App

App::BUILDPACK_URL, App::DefaultCommand, App::HATCHET_BUILDPACK_BASE, App::HATCHET_BUILDPACK_BRANCH, App::SkipDefaultOption

Instance Attribute Summary

Attributes inherited from App

#app_config, #buildpacks, #directory, #max_retries_count, #name, #reaper, #repo_name, #stack

Instance Method Summary collapse

Methods inherited from App

#add_database, #allow_failure?, #api_key, #api_rate_limit, #before_deploy, #commit!, config, #config, #couple_pipeline, #create_app, #create_pipeline, #create_source, #debug?, default_buildpack, #delete_pipeline, #deploy, #deployed?, #get_config, #get_labs, #heroku, #in_directory, #in_directory_fork, #initialize, #lab_is_installed?, #not_debugging?, #output, #pipeline_id, #platform_api, #push, #retry_error_message, #run, #run_ci, #run_multi, #set_config, #set_lab, #set_labs!, #setup!, #source_get_url, #teardown!, #update_stack

Constructor Details

This class inherits a constructor from Hatchet::App

Instance Method Details

#git_repoObject



4
5
6
# File 'lib/hatchet/git_app.rb', line 4

def git_repo
  "https://git.heroku.com/#{name}.git"
end

#push_without_retry!Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/hatchet/git_app.rb', line 9

def push_without_retry!
  output = ""

  ShellThrottle.new(platform_api: @platform_api).call do
    output = git_push_heroku_yall
  rescue FailedDeploy => e
    if e.output.match?(/reached the API rate limit/)
      throw(:throttle)
    elsif @allow_failure
      output = e.output
    else
      raise e
    end
  end

  return output
end