dpl 1.7.4.travis.600.1 → 1.7.4.travis.619.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTdlODdlMDM1NmNkODg4YzRiMjc1ZWNhODU2OTQ3NDEwMzFiYTE4Mw==
4
+ ZTdkMTFmMTFjMmQ4ZGJhYzI0M2NiN2EzYzk2MjVlZTQ1MjU1NGUxOQ==
5
5
  data.tar.gz: !binary |-
6
- ZjdiZGRjNWE2MWZlMjBmMWI4ZjExNDQ1Mzc4MGEwOTc4YzQwMmNlNw==
6
+ MTg4YjllYzYzZjJmNjQ4YWY4YTdhMzVhNGM1Mzk1ZGY0ZWY2YWI1Yg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZjYwOWIzZjFhYmIxM2RlMzM3NzQ5MTk2Zjg0ZGE1ZDJhODljNDg2YWNmMWU0
10
- MzhiYmJmYTM3OGQ2ZTIzZjJiY2U1Zjc1N2U0YmU3ZDdiYjA2MWE0OTEyMmYx
11
- NmI5MDUwZjcyYmEyZDZlNmIyNGRkNjhkMDA3MTdlZDdhZWRiODM=
9
+ N2I3MGI2NDA1ZTE0ZjUwOTViOWE5ZDVhZTQwMjljOTZkYjE5ODEwNDViOTRj
10
+ ZTQ5M2ZiOWIwZDE1Y2ExZTU2MmEzNjY0YmM4YjhmY2Q3Mjc3YjM1YWJhOWVj
11
+ NjNkOWI2MzFmNDlkNjQzODQ3M2U4MjI5MzU4MDllMjYyM2RlYTE=
12
12
  data.tar.gz: !binary |-
13
- MzYwM2JiNmNkMWNlOWQzODkwYzJlYjVhM2Q3OGIwZWU4YzcxYWM0ZDllZWFh
14
- NDY5ZWMwMTVmODExNWU3NmMyOTViNzExMGExZDk5MzE1ZjYzNDhjNGVkZTc2
15
- NmRhYWMxMzAwZmYxYWE0Zjc4YWNlYjFjZTdlM2Y0OGMzY2MzZWE=
13
+ MzU3NjI4Y2Y3ZDdhNDliZmU5ZWEyYTUzYTQyM2Y2YzIzMDA1YjMxZTFkODMy
14
+ NjUyYTVlOGZiNzA1YzQ2ZWVmODYxZjUwYzk3NmYyM2FkZjkyOTRjMTdiZjg5
15
+ ZjQ0NTAyNTljZjViZDhlODU2NGI0MDMzMWRiMWE4MzNiYTQzNTA=
data/lib/dpl/cli.rb CHANGED
@@ -58,5 +58,9 @@ module DPL
58
58
  $stderr.puts(message)
59
59
  exit 1
60
60
  end
61
+
62
+ def env
63
+ ENV
64
+ end
61
65
  end
62
66
  end
data/lib/dpl/provider.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'dpl/error'
2
+ require 'dpl/version'
2
3
  require 'fileutils'
3
4
 
4
5
  module DPL
@@ -84,6 +85,14 @@ module DPL
84
85
 
85
86
  def initialize(context, options)
86
87
  @context, @options = context, options
88
+ context.env['GIT_HTTP_USER_AGENT'] = user_agent(git: `git --version`[/[\d\.]+/])
89
+ end
90
+
91
+ def user_agent(*strings)
92
+ strings.unshift "dpl/#{DPL::VERSION}"
93
+ strings.unshift "travis/0.1.0" if context.env['TRAVIS']
94
+ strings = strings.flat_map { |e| Hash === e ? e.map { |k,v| "#{k}/#{v}" } : e }
95
+ strings.join(" ").gsub(/\s+/, " ").strip
87
96
  end
88
97
 
89
98
  def option(name, *alternatives)
@@ -127,7 +136,7 @@ module DPL
127
136
  end
128
137
 
129
138
  def sha
130
- @sha ||= ENV['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip
139
+ @sha ||= context.env['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip
131
140
  end
132
141
 
133
142
  def commit_msg
@@ -172,7 +181,7 @@ module DPL
172
181
  end
173
182
 
174
183
  chmod(0740, path)
175
- ENV['GIT_SSH'] = path
184
+ context.env['GIT_SSH'] = path
176
185
  end
177
186
 
178
187
  def detect_encoding?
@@ -49,8 +49,8 @@ module DPL
49
49
  {
50
50
  revision_type: 'GitHub',
51
51
  git_hub_location: {
52
- commit_id: options[:commit_id] || ENV['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip,
53
- repository: options[:repository] || ENV['TRAVIS_REPO_SLUG'] || option(:repository)
52
+ commit_id: options[:commit_id] || context.env['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip,
53
+ repository: options[:repository] || context.env['TRAVIS_REPO_SLUG'] || option(:repository)
54
54
  }
55
55
  }
56
56
  end
@@ -80,7 +80,7 @@ module DPL
80
80
  end
81
81
 
82
82
  def default_description
83
- "Deploy build #{ENV['TRAVIS_BUILD_NUMBER']} via Travis CI"
83
+ "Deploy build #{context.env['TRAVIS_BUILD_NUMBER']} via Travis CI"
84
84
  end
85
85
 
86
86
  def check_auth
@@ -53,7 +53,7 @@ module DPL
53
53
  end
54
54
 
55
55
  def app_dir
56
- options[:app_dir] || ENV['TRAVIS_BUILD_DIR'] || Dir.pwd
56
+ options[:app_dir] || context.env['TRAVIS_BUILD_DIR'] || Dir.pwd
57
57
  end
58
58
 
59
59
  def push_app
@@ -3,15 +3,17 @@ module DPL
3
3
  module Heroku
4
4
  autoload :Anvil, 'dpl/provider/heroku/anvil'
5
5
  autoload :API, 'dpl/provider/heroku/api'
6
+ autoload :Generic, 'dpl/provider/heroku/generic'
6
7
  autoload :Git, 'dpl/provider/heroku/git'
8
+ autoload :GitSSH, 'dpl/provider/heroku/git_ssh'
7
9
  autoload :GitDeployKey, 'dpl/provider/heroku/git_deploy_key'
8
10
 
9
11
  extend self
10
12
 
11
13
  def new(context, options)
12
- strategy = options[:strategy] || 'anvil'
13
- constant = constants.detect { |c| c.to_s.downcase == strategy }
14
- raise Error, 'unknown strategy %p' % strategy unless constant
14
+ strategy = options[:strategy] || 'api'
15
+ constant = constants.detect { |c| c.to_s.downcase == strategy.downcase.gsub(/\W/, '') }
16
+ raise Error, 'unknown strategy %p' % strategy unless constant and constant != Generic
15
17
  const_get(constant).new(context, options)
16
18
  end
17
19
  end
@@ -13,10 +13,6 @@ module DPL
13
13
  super
14
14
  end
15
15
 
16
- def needs_key?
17
- false
18
- end
19
-
20
16
  def deploy
21
17
  warn ''
22
18
  if options[:strategy]
@@ -34,7 +30,7 @@ module DPL
34
30
  end
35
31
 
36
32
  def push_app
37
- sha = ENV['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip
33
+ sha = context.env['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip
38
34
  response = Excon.post release_url,
39
35
  :body => { "slug_url" => slug_url, "description" => "Deploy #{sha} via Travis CI" }.to_json,
40
36
  :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json' }
@@ -4,15 +4,7 @@ require 'shellwords'
4
4
  module DPL
5
5
  class Provider
6
6
  module Heroku
7
- class API < Git
8
- def needs_key?
9
- false
10
- end
11
-
12
- def user
13
- @user ||= api.get_user.body["email"]
14
- end
15
-
7
+ class API < Generic
16
8
  def push_app
17
9
  pack_archive
18
10
  upload_archive
@@ -20,7 +12,7 @@ module DPL
20
12
  end
21
13
 
22
14
  def archive_file
23
- Shellwords.escape("#{ENV['HOME']}/.dpl.#{option(:app)}.tgz")
15
+ Shellwords.escape("#{context.env['HOME']}/.dpl.#{option(:app)}.tgz")
24
16
  end
25
17
 
26
18
  def pack_archive
@@ -53,7 +45,7 @@ module DPL
53
45
  end
54
46
 
55
47
  def version
56
- @version ||= options[:version] || ENV['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip
48
+ @version ||= options[:version] || context.env['TRAVIS_COMMIT'] || `git rev-parse HEAD`.strip
57
49
  end
58
50
 
59
51
  def post(subpath, body = nil, options = {})
@@ -0,0 +1,63 @@
1
+ module DPL
2
+ class Provider
3
+ module Heroku
4
+ class Generic < Provider
5
+ requires 'heroku-api'
6
+ requires 'rendezvous'
7
+
8
+ def needs_key?
9
+ false
10
+ end
11
+
12
+ def api
13
+ @api ||= ::Heroku::API.new(api_options)
14
+ end
15
+
16
+ def api_options
17
+ api_options = { headers: { 'User-Agent' => user_agent(::Heroku::API::HEADERS.fetch('User-Agent')) } }
18
+ if options[:user] and options[:password]
19
+ api_options[:user] = options[:user]
20
+ api_options[:password] = options[:password]
21
+ else
22
+ api_options[:api_key] = option(:api_key)
23
+ end
24
+ api_options
25
+ end
26
+
27
+ def user
28
+ @user ||= api.get_user.body["email"]
29
+ end
30
+
31
+ def check_auth
32
+ log "authenticated as %s" % user
33
+ end
34
+
35
+ def check_app
36
+ log "checking for app '#{option(:app)}'"
37
+ info = api.get_app(option(:app)).body
38
+ log "found app '#{info['name']}'"
39
+ rescue ::Heroku::API::Errors::Forbidden => error
40
+ raise Error, "#{error.message} (does the app '#{option(:app)}' exist and does your account have access to it?)", error.backtrace
41
+ end
42
+
43
+ def run(command)
44
+ data = api.post_ps(option(:app), command, :attach => true).body
45
+ rendezvous_url = data['rendezvous_url']
46
+ Rendezvous.start(:url => rendezvous_url) unless rendezvous_url.nil?
47
+ end
48
+
49
+ def restart
50
+ api.post_ps_restart option(:app)
51
+ end
52
+
53
+ def deploy
54
+ super
55
+ rescue ::Heroku::API::Errors::NotFound => error
56
+ raise Error, "#{error.message} (wrong app #{options[:app].inspect}?)", error.backtrace
57
+ rescue ::Heroku::API::Errors::Unauthorized => error
58
+ raise Error, "#{error.message} (wrong API key?)", error.backtrace
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -1,60 +1,23 @@
1
1
  module DPL
2
2
  class Provider
3
3
  module Heroku
4
- class Git < Provider
5
- requires 'heroku-api'
6
- requires 'rendezvous'
4
+ class Git < Generic
5
+ require 'netrc'
7
6
 
8
- def api
9
- @api ||= ::Heroku::API.new(:api_key => option(:api_key)) unless options[:user] and options[:password]
10
- @api ||= ::Heroku::API.new(:user => options[:user], :password => options[:password])
11
- end
12
-
13
- def user
14
- @user ||= api.get_user.body["email"]
15
- end
16
-
17
- def check_auth
18
- log "authenticated as %s" % user
19
- end
20
-
21
- def check_app
22
- log "checking for app '#{option(:app)}'"
23
- info = api.get_app(option(:app)).body
24
- options[:git] ||= info['git_url']
25
- log "found app '#{info['name']}'"
26
- rescue ::Heroku::API::Errors::Forbidden => error
27
- raise Error, "#{error.message} (does the app '#{option(:app)}' exist and does your account have access to it?)", error.backtrace
28
- end
29
-
30
- def setup_key(file)
31
- api.post_key File.read(file)
32
- end
33
-
34
- def remove_key
35
- api.delete_key(option(:key_name))
7
+ def git_url
8
+ "https://git.heroku.com/#{option(:app)}.git"
36
9
  end
37
10
 
38
11
  def push_app
39
- context.shell "git push #{option(:git)} HEAD:refs/heads/master -f"
40
- end
41
-
42
- def run(command)
43
- data = api.post_ps(option(:app), command, :attach => true).body
44
- rendezvous_url = data['rendezvous_url']
45
- Rendezvous.start(:url => rendezvous_url) unless rendezvous_url.nil?
46
- end
47
-
48
- def restart
49
- api.post_ps_restart option(:app)
12
+ git_remote = options[:git] || git_url
13
+ write_netrc if git_remote.start_with?("https://")
14
+ context.shell "git push #{git_remote} HEAD:refs/heads/master -f"
50
15
  end
51
16
 
52
- def deploy
53
- super
54
- rescue ::Heroku::API::Errors::NotFound => error
55
- raise Error, "#{error.message} (wrong app #{options[:app].inspect}?)", error.backtrace
56
- rescue ::Heroku::API::Errors::Unauthorized => error
57
- raise Error, "#{error.message} (wrong API key?)", error.backtrace
17
+ def write_netrc
18
+ n = Netrc.read
19
+ n['git.heroku.com'] = [user, option(:api_key)]
20
+ n.save
58
21
  end
59
22
  end
60
23
  end
@@ -1,7 +1,7 @@
1
1
  module DPL
2
2
  class Provider
3
3
  module Heroku
4
- class GitDeployKey < Git
4
+ class GitDeployKey < GitSSH
5
5
  def needs_key?
6
6
  false
7
7
  end
@@ -20,7 +20,7 @@ module DPL
20
20
  end
21
21
 
22
22
  chmod(0740, path)
23
- ENV['GIT_SSH'] = path
23
+ context.env['GIT_SSH'] = path
24
24
  end
25
25
  end
26
26
  end
@@ -0,0 +1,23 @@
1
+ module DPL
2
+ class Provider
3
+ module Heroku
4
+ class GitSSH < Git
5
+ def git_url
6
+ info['git_url']
7
+ end
8
+
9
+ def needs_key?
10
+ true
11
+ end
12
+
13
+ def setup_key(file)
14
+ api.post_key File.read(file)
15
+ end
16
+
17
+ def remove_key
18
+ api.delete_key(option(:key_name))
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -101,7 +101,7 @@ module DPL
101
101
  end
102
102
 
103
103
  def travis_deploy_comment
104
- "Deploy build #{ENV['TRAVIS_BUILD_NUMBER'] || current_sha} via Travis CI"
104
+ "Deploy build #{context.env['TRAVIS_BUILD_NUMBER'] || current_sha} via Travis CI"
105
105
  end
106
106
 
107
107
  def deploy
@@ -8,10 +8,10 @@ module DPL
8
8
 
9
9
  def travis_tag
10
10
  # Check if $TRAVIS_TAG is unset or set but empty
11
- if ENV.fetch('TRAVIS_TAG','') == ''
11
+ if context.env.fetch('TRAVIS_TAG','') == ''
12
12
  nil
13
13
  else
14
- ENV['TRAVIS_TAG']
14
+ context.env['TRAVIS_TAG']
15
15
  end
16
16
  end
17
17
 
@@ -32,7 +32,7 @@ module DPL
32
32
  end
33
33
 
34
34
  def slug
35
- options.fetch(:repo) { ENV['TRAVIS_REPO_SLUG'] }
35
+ options.fetch(:repo) { context.env['TRAVIS_REPO_SLUG'] }
36
36
  end
37
37
 
38
38
  def releases
@@ -51,7 +51,7 @@ describe DPL::Provider::Deis do
51
51
  let(:ssh_config) { File.join(Dir.home, '.ssh', 'config') }
52
52
  let(:identity_file) { File.join(Dir.pwd, 'key_file') }
53
53
  let(:git_ssh) { File.join(Dir.pwd, 'foo') }
54
- after { FileUtils.rm ENV.delete('GIT_SSH') }
54
+ after { FileUtils.rm provider.context.env.delete('GIT_SSH') }
55
55
 
56
56
  example do
57
57
  expect(File).to receive(:open).with(git_ssh, 'w').and_call_original
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # describe '#push_app' do
12
12
  # example 'with default app_dir' do
13
- # ENV['TRAVIS_BUILD_DIR'] = Dir.pwd
13
+ # provider.context.env['TRAVIS_BUILD_DIR'] = Dir.pwd
14
14
  # provider.options.update(:oauth_refresh_token => token)
15
15
  # expect(provider.context).to receive(:shell).with("#{DPL::Provider::GAE::APPCFG_BIN} --oauth2_refresh_token=#{token} update #{Dir.pwd}").and_return(true)
16
16
  # provider.push_app
@@ -44,7 +44,7 @@ describe DPL::Provider::Heroku do
44
44
 
45
45
  allow(provider).to receive_messages(:slug_url => "http://slug-url")
46
46
 
47
- expect(ENV).to receive(:[]).with('TRAVIS_COMMIT').and_return('123')
47
+ expect(provider.context.env).to receive(:[]).with('TRAVIS_COMMIT').and_return('123')
48
48
  expect(::Excon).to receive(:post).with(provider.release_url,
49
49
  :body => {"slug_url" => "http://slug-url", "description" => "Deploy 123 via Travis CI" }.to_json,
50
50
  :headers => {"Content-Type" => 'application/json', 'Accept' => 'application/json'}).and_return(response)
@@ -7,6 +7,10 @@ describe DPL::Provider::Heroku do
7
7
  described_class.new(DummyContext.new, :app => 'example', :key_name => 'key', :api_key => "foo", :strategy => "api")
8
8
  end
9
9
 
10
+ let(:expected_headers) do
11
+ { "User-Agent" => "dpl/#{DPL::VERSION} heroku-rb/#{Heroku::API::VERSION}" }
12
+ end
13
+
10
14
  describe "#ssh" do
11
15
  it "doesn't require an ssh key" do
12
16
  expect(provider.needs_key?).to eq(false)
@@ -16,14 +20,14 @@ describe DPL::Provider::Heroku do
16
20
  describe "#api" do
17
21
  it 'accepts an api key' do
18
22
  api = double(:api)
19
- expect(::Heroku::API).to receive(:new).with(:api_key => "foo").and_return(api)
23
+ expect(::Heroku::API).to receive(:new).with(:api_key => "foo", :headers => expected_headers).and_return(api)
20
24
  expect(provider.api).to eq(api)
21
25
  end
22
26
 
23
27
  it 'accepts a user and a password' do
24
28
  api = double(:api)
25
29
  provider.options.update(:user => "foo", :password => "bar")
26
- expect(::Heroku::API).to receive(:new).with(:user => "foo", :password => "bar").and_return(api)
30
+ expect(::Heroku::API).to receive(:new).with(:user => "foo", :password => "bar", :headers => expected_headers).and_return(api)
27
31
  expect(provider.api).to eq(api)
28
32
  end
29
33
  end
@@ -4,20 +4,24 @@ require 'dpl/provider/heroku'
4
4
 
5
5
  describe DPL::Provider::Heroku do
6
6
  subject :provider do
7
- described_class.new(DummyContext.new, :app => 'example', :key_name => 'key', :api_key => "foo", :strategy => "git")
7
+ described_class.new(DummyContext.new, :app => 'example', :key_name => 'key', :api_key => "foo", :strategy => "git-ssh")
8
+ end
9
+
10
+ let(:expected_headers) do
11
+ { "User-Agent" => "dpl/#{DPL::VERSION} heroku-rb/#{Heroku::API::VERSION}" }
8
12
  end
9
13
 
10
14
  describe "#api" do
11
15
  it 'accepts an api key' do
12
16
  api = double(:api)
13
- expect(::Heroku::API).to receive(:new).with(:api_key => "foo").and_return(api)
17
+ expect(::Heroku::API).to receive(:new).with(:api_key => "foo", :headers => expected_headers).and_return(api)
14
18
  expect(provider.api).to eq(api)
15
19
  end
16
20
 
17
21
  it 'accepts a user and a password' do
18
22
  api = double(:api)
19
23
  provider.options.update(:user => "foo", :password => "bar")
20
- expect(::Heroku::API).to receive(:new).with(:user => "foo", :password => "bar").and_return(api)
24
+ expect(::Heroku::API).to receive(:new).with(:user => "foo", :password => "bar", :headers => expected_headers).and_return(api)
21
25
  expect(provider.api).to eq(api)
22
26
  end
23
27
  end
@@ -47,7 +51,6 @@ describe DPL::Provider::Heroku do
47
51
  example do
48
52
  expect(provider).to receive(:log).at_least(1).times.with(/example/)
49
53
  provider.check_app
50
- expect(provider.options[:git]).to eq("GIT URL")
51
54
  end
52
55
  end
53
56
 
@@ -71,6 +74,7 @@ describe DPL::Provider::Heroku do
71
74
  provider.options[:git] = "git://something"
72
75
  expect(provider.context).to receive(:shell).with("git push git://something HEAD:refs/heads/master -f")
73
76
  provider.push_app
77
+ expect(provider.context.env['GIT_HTTP_USER_AGENT']).to include("dpl/#{DPL::VERSION}")
74
78
  end
75
79
  end
76
80
 
@@ -40,7 +40,7 @@ describe DPL::Provider::OpsWorks do
40
40
  before do
41
41
  expect(provider).to receive(:current_sha).and_return('sha')
42
42
  expect(provider.api).to receive(:client).and_return(client)
43
- expect(ENV).to receive(:[]).with('TRAVIS_BUILD_NUMBER').and_return('123')
43
+ expect(provider.context.env).to receive(:[]).with('TRAVIS_BUILD_NUMBER').and_return('123')
44
44
  end
45
45
 
46
46
  let(:custom_json) { "{\"deploy\":{\"app\":{\"migrate\":false,\"scm\":{\"revision\":\"sha\"}}}}" }
@@ -9,19 +9,19 @@ describe DPL::Provider::Releases do
9
9
 
10
10
  describe "#travis_tag" do
11
11
  example "When $TRAVIS_TAG is nil" do
12
- ENV['TRAVIS_TAG'] = nil
12
+ provider.context.env['TRAVIS_TAG'] = nil
13
13
 
14
14
  expect(provider.travis_tag).to eq(nil)
15
15
  end
16
16
 
17
17
  example "When $TRAVIS_TAG if set but empty" do
18
- ENV['TRAVIS_TAG'] = nil
18
+ provider.context.env['TRAVIS_TAG'] = nil
19
19
 
20
20
  expect(provider.travis_tag).to eq(nil)
21
21
  end
22
22
 
23
23
  example "When $TRAVIS_TAG if set" do
24
- ENV['TRAVIS_TAG'] = "foo"
24
+ provider.context.env['TRAVIS_TAG'] = "foo"
25
25
 
26
26
  expect(provider.travis_tag).to eq("foo")
27
27
  end
@@ -118,11 +118,11 @@ describe DPL::Provider do
118
118
  end
119
119
 
120
120
  describe "#setup_git_ssh" do
121
- after { FileUtils.rm ENV.delete('GIT_SSH') }
121
+ after { FileUtils.rm provider.context.env.delete('GIT_SSH') }
122
122
 
123
123
  example do
124
124
  provider.setup_git_ssh('foo', 'bar')
125
- expect(ENV['GIT_SSH']).to eq(File.expand_path('foo'))
125
+ expect(provider.context.env['GIT_SSH']).to eq(File.expand_path('foo'))
126
126
  end
127
127
  end
128
128
 
data/spec/spec_helper.rb CHANGED
@@ -17,4 +17,8 @@ class DummyContext
17
17
  def fold(message)
18
18
  yield
19
19
  end
20
+
21
+ def env
22
+ @env ||= {}
23
+ end
20
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dpl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.4.travis.600.1
4
+ version: 1.7.4.travis.619.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Haase
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-12 00:00:00.000000000 Z
11
+ date: 2014-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -119,8 +119,10 @@ files:
119
119
  - lib/dpl/provider/heroku.rb
120
120
  - lib/dpl/provider/heroku/anvil.rb
121
121
  - lib/dpl/provider/heroku/api.rb
122
+ - lib/dpl/provider/heroku/generic.rb
122
123
  - lib/dpl/provider/heroku/git.rb
123
124
  - lib/dpl/provider/heroku/git_deploy_key.rb
125
+ - lib/dpl/provider/heroku/git_ssh.rb
124
126
  - lib/dpl/provider/modulus.rb
125
127
  - lib/dpl/provider/ninefold.rb
126
128
  - lib/dpl/provider/nodejitsu.rb