heroku_deployer 0.7.21 → 0.7.22

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.
Files changed (3) hide show
  1. checksums.yaml +5 -5
  2. data/lib/amitree/heroku_client.rb +24 -0
  3. metadata +31 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 752fb24f5602e61b9b79d088e4af84ab4ce44894
4
- data.tar.gz: 228deb30594b9686cf969d782e175504aa23788d
2
+ SHA256:
3
+ metadata.gz: 411e82bb0c5c27b5662fcf857140ecd54f4eb5b81df40bb76383f02973cc2ebd
4
+ data.tar.gz: d3e50eb0fe9819a7e2da1e0bbf71e23b196c56705112a7dc9755b2bceb866c7d
5
5
  SHA512:
6
- metadata.gz: f3acc34e43638026b0204469bbe73ec96cd3f63e51279c2f6330c9d1a9b6524a1d88a7ebe850b76888a187f71b21de40b1d07b455c650d71077bdc3649d897a8
7
- data.tar.gz: f84360ef509828550feafe0eedfb6dabb10c63b6c7eadd7ac41e06d9ba47d723f2dd76e214f4bda00a5bbd3163b2e2f7a775bfb386c329ddd8852ab24b545e44
6
+ metadata.gz: 40cd47e60c1d6f655b5774edb72e86fae8c6986f3014960481169dd679eca489125c1b920f3c2e7a83392a089ad02127cd626c53742ea7a5b51ddfdc43723660
7
+ data.tar.gz: 85c5501158ecd8e61d193c7a45c3078cf3ba4eff1b2c508f7f45e3c45990be206c711e88defd20c42e4bf471530dab11f4629830746e1a7db503e8aa048cd0c4
@@ -1,5 +1,7 @@
1
1
  require 'platform-api'
2
2
  require 'rendezvous'
3
+ require 'faraday'
4
+ require 'faraday_middleware'
3
5
 
4
6
  module Amitree
5
7
  class HerokuClient
@@ -10,6 +12,7 @@ module Amitree
10
12
  end
11
13
 
12
14
  def initialize(api_key, staging_app_name, production_app_name)
15
+ @api_key = api_key
13
16
  @heroku = PlatformAPI.connect(api_key)
14
17
  @staging_app_name = staging_app_name
15
18
  @production_app_name = production_app_name
@@ -89,6 +92,17 @@ module Amitree
89
92
  "v#{release['version']}"
90
93
  end
91
94
 
95
+ def review_app_info(branch_name)
96
+ pipeline_id = @heroku.pipeline_coupling.info_by_app(@staging_app_name)['pipeline']['id']
97
+
98
+ # The current version of platform-api does not include the review-apps API
99
+ review_apps = connection.get("https://api.heroku.com/pipelines/#{pipeline_id}/review-apps").body
100
+
101
+ review_apps
102
+ .select { |review_app| review_app['branch'] == branch_name }
103
+ .map { |review_app| { pr_number: review_app['pr_number'], endpoint: @heroku.app.info(review_app['app']['id'])['web_url'].chomp('/') } }
104
+ end
105
+
92
106
  private
93
107
  def get_releases(app_name)
94
108
  @heroku.release.list(app_name)
@@ -103,5 +117,15 @@ module Amitree
103
117
  write.close
104
118
  puts "Done."
105
119
  end
120
+
121
+ def connection
122
+ @connection ||= Faraday.new do |conn|
123
+ conn.authorization :Bearer, @api_key
124
+ conn.headers['Accept'] = 'application/vnd.heroku+json; version=3'
125
+ conn.response :raise_error
126
+ conn.response :json
127
+ conn.adapter Faraday.default_adapter
128
+ end
129
+ end
106
130
  end
107
131
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heroku_deployer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.21
4
+ version: 0.7.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Wargnier
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-03-07 00:00:00.000000000 Z
12
+ date: 2020-04-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -81,6 +81,34 @@ dependencies:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: 0.0.2
84
+ - !ruby/object:Gem::Dependency
85
+ name: faraday
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 0.17.3
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: 0.17.3
98
+ - !ruby/object:Gem::Dependency
99
+ name: faraday_middleware
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 0.14.0
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: 0.14.0
84
112
  - !ruby/object:Gem::Dependency
85
113
  name: pivotal-tracker
86
114
  requirement: !ruby/object:Gem::Requirement
@@ -127,10 +155,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
155
  - !ruby/object:Gem::Version
128
156
  version: '0'
129
157
  requirements: []
130
- rubyforge_project:
131
- rubygems_version: 2.6.8
158
+ rubygems_version: 3.0.6
132
159
  signing_key:
133
160
  specification_version: 4
134
161
  summary: Heroku Deployer
135
162
  test_files: []
136
- has_rdoc: