roo_on_rails 1.6.0 → 1.7.0
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 +4 -4
- data/CHANGELOG.md +8 -1
- data/Gemfile +1 -0
- data/README.md +126 -68
- data/bin/console +5 -0
- data/gemfiles/.bundle/config +2 -0
- data/gemfiles/rails_3.gemfile +1 -0
- data/gemfiles/rails_3.gemfile.lock +36 -2
- data/gemfiles/rails_4.gemfile +1 -0
- data/gemfiles/rails_4.gemfile.lock +36 -2
- data/gemfiles/rails_5.gemfile +1 -0
- data/gemfiles/rails_5.gemfile.lock +36 -2
- data/gemfiles/rails_5_1.gemfile +1 -0
- data/gemfiles/rails_5_1.gemfile.lock +36 -2
- data/lib/roo_on_rails.rb +1 -0
- data/lib/roo_on_rails/checks/environment.rb +4 -0
- data/lib/roo_on_rails/checks/google_oauth/_template.rb +49 -0
- data/lib/roo_on_rails/checks/google_oauth/initializer.rb +43 -0
- data/lib/roo_on_rails/checks/papertrail/all.rb +21 -0
- data/lib/roo_on_rails/checks/papertrail/drain_exists.rb +64 -0
- data/lib/roo_on_rails/checks/papertrail/log_destination_exists.rb +39 -0
- data/lib/roo_on_rails/checks/papertrail/system_exists.rb +78 -0
- data/lib/roo_on_rails/checks/papertrail/system_named.rb +55 -0
- data/lib/roo_on_rails/checks/papertrail/token.rb +50 -0
- data/lib/roo_on_rails/config.rb +16 -0
- data/lib/roo_on_rails/default.env +4 -0
- data/lib/roo_on_rails/papertrail_client.rb +45 -0
- data/lib/roo_on_rails/rack/google_oauth.rb +34 -0
- data/lib/roo_on_rails/railties/google_auth.rb +36 -0
- data/lib/roo_on_rails/railties/sidekiq.rb +6 -2
- data/lib/roo_on_rails/version.rb +1 -1
- data/roo_on_rails.gemspec +5 -0
- metadata +70 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8adca9db27e5e65ab629420b4d02f4900a9c9629
|
4
|
+
data.tar.gz: e50c1756717e4f484684ae31de1653527ee1b081
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc9a1b2dfc35fff8b74f8a749e6f2858ac8c41d7a8d20b012d2d75d107581bc2643ec44ab2c01ec125f1419c92af06cbad55dca42b9eaa08f8487e554c0d62d9
|
7
|
+
data.tar.gz: 3d8545de35da3827a95ba6ad2d74367d662e4d09e5f0b900aaa567cf5f200b61ea0a7ed6f5110e64ccd0e81c82dbc59160ce877010d55a03a38d0540909093b7
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,15 @@
|
|
1
|
+
# v1.7.0 (2017-07-18)
|
2
|
+
|
3
|
+
Features:
|
4
|
+
|
5
|
+
- Adds check for Papertrail integration (#43)
|
6
|
+
|
1
7
|
# v1.6.0 (2017-07-11)
|
2
8
|
|
3
9
|
Features:
|
4
10
|
|
5
|
-
- Adds check for a `PLAYBOOK.md` file, which should detail how to deal with
|
11
|
+
- Adds check for a `PLAYBOOK.md` file, which should detail how to deal with
|
12
|
+
issues which might occur with the service (#41)
|
6
13
|
|
7
14
|
Bug fixes:
|
8
15
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,35 @@
|
|
1
1
|
## `roo_on_rails` [](https://badge.fury.io/rb/roo_on_rails) [](https://travis-ci.org/deliveroo/roo_on_rails) [](https://codeclimate.com/repos/58809e664ab8420081007382/feed)
|
2
2
|
|
3
|
-
|
3
|
+
|
4
|
+
`roo_on_rails` is:
|
5
|
+
|
6
|
+
1. A library that extends Rails (as a set of Railties) and auto-configures common
|
7
|
+
dependencies.
|
8
|
+
2. A command that checks whether an application's Github repository and Heroku
|
9
|
+
instanciations are compliant.
|
10
|
+
|
11
|
+
... packaged into a gem, to make following our
|
12
|
+
[guidelines](http://deliveroo.engineering/guidelines/services/) easy.
|
13
|
+
|
14
|
+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
15
|
+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
16
|
+
**Table of Contents**
|
17
|
+
|
18
|
+
- [Installation](#installation)
|
19
|
+
- [Usage](#usage)
|
20
|
+
- [Library features](#library-features)
|
21
|
+
- [New Relic configuration](#new-relic-configuration)
|
22
|
+
- [Rack middleware](#rack-middleware)
|
23
|
+
- [Database configuration](#database-configuration)
|
24
|
+
- [Sidekiq](#sidekiq)
|
25
|
+
- [HireFire Workers](#hirefire-workers)
|
26
|
+
- [Logging](#logging)
|
27
|
+
- [Google Oauth](#google-oauth)
|
28
|
+
- [Command features](#command-features)
|
29
|
+
- [Contributing](#contributing)
|
30
|
+
- [License](#license)
|
31
|
+
|
32
|
+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
4
33
|
|
5
34
|
## Installation
|
6
35
|
|
@@ -30,25 +59,7 @@ Then re-run your test suite to make sure everything is shipshape.
|
|
30
59
|
|
31
60
|
## Usage
|
32
61
|
|
33
|
-
|
34
|
-
|
35
|
-
```
|
36
|
-
bundle exec roo_on_rails
|
37
|
-
```
|
38
|
-
|
39
|
-
This will run a series of checks of your application's setup, as descirbed
|
40
|
-
below.
|
41
|
-
|
42
|
-
|
43
|
-
## Features
|
44
|
-
|
45
|
-
### App validation
|
46
|
-
|
47
|
-
Running the `roo_on_rails` script currently checks for:
|
48
|
-
|
49
|
-
- compliant Heroku app naming;
|
50
|
-
- presence of the Heroku preboot flag;
|
51
|
-
- correct Github master branch protection.
|
62
|
+
## Configuration and usage
|
52
63
|
|
53
64
|
### New Relic configuration
|
54
65
|
|
@@ -63,73 +74,63 @@ We enforce configuration of New Relic.
|
|
63
74
|
3. The `NEW_RELIC_APP_NAME` environment variable must be defined
|
64
75
|
such that the app will be properly registered in New Relic.
|
65
76
|
|
66
|
-
No further configuration is required for production apps as the gem configures
|
67
|
-
|
68
|
-
However if you have Heroku's [review apps](https://devcenter.heroku.com/articles/github-integration-review-apps) enabled then you will need to update `app.json` so that it lists `NEW_RELIC_LICENSE_KEY` in the `env` section, so that this key is copied from the parent app (only keys listed here will be created on the review app; either generated, if that is specified, or otherwise copied).
|
69
|
-
|
70
|
-
More documentation is available [directly from heroku](https://devcenter.heroku.com/articles/github-integration-review-apps#inheriting-config-vars) but the block below has been helpful in other apps:
|
71
|
-
|
72
|
-
```json
|
73
|
-
"env": {
|
74
|
-
"NEW_RELIC_LICENSE_KEY": {
|
75
|
-
"description": "The New Relic licence key",
|
76
|
-
"required": true
|
77
|
-
},
|
78
|
-
"NEW_RELIC_APP_NAME": {
|
79
|
-
"description": "The application name to be registered in New Relic",
|
80
|
-
"required": true
|
81
|
-
},
|
82
|
-
"SECRET_KEY_BASE": {
|
83
|
-
"description": "A secret basis for the key which verifies the integrity of signed cookies.",
|
84
|
-
"generator": "secret"
|
85
|
-
},
|
86
|
-
"RACK_ENV": {
|
87
|
-
"description": "The name of the environment for Rack."
|
88
|
-
},
|
89
|
-
"RAILS_ENV": {
|
90
|
-
"description": "The name of the environment for Rails."
|
91
|
-
}
|
92
|
-
},
|
93
|
-
```
|
77
|
+
No further configuration is required for production apps as the gem configures
|
78
|
+
our standard settings.
|
94
79
|
|
95
80
|
### Rack middleware
|
96
81
|
|
97
82
|
We'll insert the following middlewares into the rails stack:
|
98
83
|
|
99
|
-
1. `Rack::Timeout`: sets a timeout for all requests. Use `RACK_SERVICE_TIMEOUT`
|
84
|
+
1. `Rack::Timeout`: sets a timeout for all requests. Use `RACK_SERVICE_TIMEOUT`
|
85
|
+
(default 15) and `RACK_WAIT_TIMEOUT` (default 30) to customise.
|
100
86
|
2. `Rack::SslEnforcer`: enforces HTTPS.
|
101
|
-
3. `Rack::Deflater`: compresses responses from the application, can be disabled
|
87
|
+
3. `Rack::Deflater`: compresses responses from the application, can be disabled
|
88
|
+
with `ROO_ON_RAILS_RACK_DEFLATE` (default: 'YES').
|
89
|
+
4. Optional middlewares for Google Oauth2 (more below).
|
102
90
|
|
103
91
|
### Database configuration
|
104
92
|
|
105
|
-
The database statement timeout will be set to a low value by default. Use
|
93
|
+
The database statement timeout will be set to a low value by default. Use
|
94
|
+
`DATABASE_STATEMENT_TIMEOUT` (milliseconds, default 200) to customise.
|
106
95
|
|
107
|
-
For database creation and migration (specifically the `db:create`, `db:migrate`,
|
96
|
+
For database creation and migration (specifically the `db:create`, `db:migrate`,
|
97
|
+
`db:migrate:down` and `db:rollback` tasks) a much higher statement timeout is
|
98
|
+
set by default. Use `MIGRATION_STATEMENT_TIMEOUT` (milliseconds, default 10000)
|
99
|
+
to customise.
|
108
100
|
|
109
|
-
_Note: This configuration is not supported in Rails 3 and will be skipped. Set
|
101
|
+
_Note: This configuration is not supported in Rails 3 and will be skipped. Set
|
102
|
+
statement timeouts directly in the database._
|
110
103
|
|
111
104
|
### Sidekiq
|
112
105
|
|
113
106
|
When `SIDEKIQ_ENABLED` is set we'll:
|
114
107
|
|
115
|
-
|
116
|
-
|
117
|
-
|
108
|
+
- check for the existence of a worker line in your Procfile;
|
109
|
+
- add SLA style queues to your worker list;
|
110
|
+
- check for a `HIREFIRE_TOKEN` and if it's set enable SLA based autoscaling;
|
118
111
|
|
119
112
|
The following ENV are available:
|
120
113
|
|
121
|
-
|
122
|
-
|
123
|
-
|
114
|
+
- `SIDEKIQ_ENABLED`
|
115
|
+
- `SIDEKIQ_THREADS` (default: 25) - Sets sidekiq concurrency value
|
116
|
+
- `SIDEKIQ_DATABASE_REAPING_FREQUENCY` (default: 10) - For sidekiq processes the
|
117
|
+
amount of time in seconds rails will wait before attempting to find and
|
118
|
+
recover connections from dead threads
|
124
119
|
|
125
|
-
### HireFire
|
120
|
+
### HireFire (for Sidekiq workers)
|
126
121
|
|
127
|
-
When `HIREFIRE_TOKEN` is set an endpoint will be mounted at
|
122
|
+
When `HIREFIRE_TOKEN` is set an endpoint will be mounted at `/hirefire` that
|
123
|
+
reports the required worker count as a function of queue latency. By default we
|
124
|
+
add queue names in the style 'within1day', so if we notice an average latency in
|
125
|
+
that queue of more than an set threshold we'll request one more worker. If we
|
126
|
+
notice less than a threshold we'll request one less worker. These settings can
|
127
|
+
be customised via the following ENV variables
|
128
128
|
|
129
|
-
|
130
|
-
|
129
|
+
- `WORKER_INCREASE_THRESHOLD` (default 0.5)
|
130
|
+
- `WORKER_DECREASE_THRESHOLD` (default 0.1)
|
131
131
|
|
132
|
-
When setting the manager up in the HireFire web ui, the following settings must
|
132
|
+
When setting the manager up in the HireFire web ui, the following settings must
|
133
|
+
be used:
|
133
134
|
|
134
135
|
- name: 'worker'
|
135
136
|
- type: 'Worker.HireFire.JobQueue'
|
@@ -138,7 +139,9 @@ When setting the manager up in the HireFire web ui, the following settings must
|
|
138
139
|
|
139
140
|
### Logging
|
140
141
|
|
141
|
-
For clearer and machine-parseable log output, there in an extension to be able
|
142
|
+
For clearer and machine-parseable log output, there in an extension to be able
|
143
|
+
to add context to your logs which is output as
|
144
|
+
[logfmt](https://brandur.org/logfmt) key/value pairs after the log message.
|
142
145
|
|
143
146
|
```ruby
|
144
147
|
# application.rb
|
@@ -167,13 +170,68 @@ logger.with(a: 1) { logger.with(b: 2) { logger.info('Stuff') } }
|
|
167
170
|
logger.with(a: 1, b: 2).info('Stuff')
|
168
171
|
```
|
169
172
|
|
170
|
-
See the [class documentation](lib/roo_on_rails/context_logging.rb) for further
|
173
|
+
See the [class documentation](lib/roo_on_rails/context_logging.rb) for further
|
174
|
+
details.
|
175
|
+
|
176
|
+
### Google Oauth
|
177
|
+
|
178
|
+
When `GOOGLE_AUTH_ENABLED` is set to true we'll:
|
179
|
+
|
180
|
+
* Inject a `Omniauth` Rack middleware with a pre-configured strategy for Google
|
181
|
+
Oauth2.
|
182
|
+
* Onject custom Rack middleare to handle Oauth callback requests.
|
183
|
+
* Generate the `config/initializers/google_oauth.rb` file that contains some
|
184
|
+
examples of how to wire in your authentication logic.
|
185
|
+
|
186
|
+
To use this functionality, you must:
|
187
|
+
|
188
|
+
* Obtain the Oauth2 credentials from Google and configure them in
|
189
|
+
`GOOGLE_AUTH_CLIENT_ID` and `GOOGLE_AUTH_CLIENT_SECRET`.
|
190
|
+
* Provide in `GOOGLE_AUTH_ALLOWED_DOMAINS` a comma-separated list of domains, to
|
191
|
+
whitelist the allowed email addresses.
|
192
|
+
* Customize the code in the generated Rails initializer to hook into your
|
193
|
+
application's authentication logic.
|
194
|
+
* Update your Rails controllers to require authentication, when necessary.
|
195
|
+
|
196
|
+
|
197
|
+
## Command features
|
198
|
+
|
199
|
+
### Usage
|
200
|
+
|
201
|
+
Run the following from your app's top-level directory:
|
202
|
+
|
203
|
+
```
|
204
|
+
bundle exec roo_on_rails
|
205
|
+
```
|
206
|
+
|
207
|
+
You will (currently) need to have admin privileges on the
|
208
|
+
`roo-dd-bridge-production` application for this to work. This will be addressed
|
209
|
+
eventually.
|
210
|
+
|
211
|
+
|
212
|
+
### Description
|
213
|
+
|
214
|
+
Running the `roo_on_rails` command currently checks for:
|
215
|
+
|
216
|
+
- the presence of `PLAYBOOK.md`
|
217
|
+
- compliant Heroku app naming;
|
218
|
+
- presence of the Heroku preboot flag;
|
219
|
+
- correct Github master branch protection;
|
220
|
+
- integration with the Heroku-Datadog metrics bridge (for CPU, memory, request
|
221
|
+
throughput data);
|
222
|
+
- integration with Papertrail;
|
223
|
+
- correct Sidekiq configuration.
|
224
|
+
|
225
|
+
The command is designed to fix issues in many cases.
|
226
|
+
|
171
227
|
|
172
228
|
## Contributing
|
173
229
|
|
174
|
-
|
230
|
+
Pull requests are welcome on GitHub at
|
231
|
+
`https://github.com/deliveroo/roo_on_rails`.
|
175
232
|
|
176
233
|
|
177
234
|
## License
|
178
235
|
|
179
|
-
The gem is available as open source under the terms of the [MIT
|
236
|
+
The gem is available as open source under the terms of the [MIT
|
237
|
+
License](http://opensource.org/licenses/MIT).
|
data/bin/console
CHANGED
@@ -3,6 +3,11 @@
|
|
3
3
|
require "bundler/setup"
|
4
4
|
require "roo_on_rails"
|
5
5
|
|
6
|
+
require 'roo_on_rails/environment'
|
7
|
+
RooOnRails::Environment.load
|
8
|
+
|
9
|
+
require 'roo_on_rails/config'
|
10
|
+
|
6
11
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
12
|
# with your gem easier. You can also use a different console, if you like.
|
8
13
|
|
data/gemfiles/rails_3.gemfile
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ..
|
3
3
|
specs:
|
4
|
-
roo_on_rails (1.
|
4
|
+
roo_on_rails (1.7.0)
|
5
5
|
dogstatsd-ruby
|
6
6
|
dotenv-rails (~> 2.1)
|
7
|
+
faraday
|
8
|
+
faraday_middleware
|
7
9
|
hashie (~> 3.4)
|
8
10
|
hirefire-resource
|
9
11
|
newrelic_rpm
|
10
12
|
octokit
|
13
|
+
omniauth-google-oauth2
|
11
14
|
platform-api (~> 2.0)
|
12
15
|
rack-ssl-enforcer
|
13
16
|
rack-timeout
|
@@ -60,6 +63,8 @@ GEM
|
|
60
63
|
coderay (1.1.1)
|
61
64
|
concurrent-ruby (1.0.5)
|
62
65
|
connection_pool (2.2.1)
|
66
|
+
crack (0.4.3)
|
67
|
+
safe_yaml (~> 1.0.0)
|
63
68
|
diff-lcs (1.3)
|
64
69
|
docile (1.1.5)
|
65
70
|
dogstatsd-ruby (3.0.0)
|
@@ -71,6 +76,8 @@ GEM
|
|
71
76
|
excon (0.57.1)
|
72
77
|
faraday (0.12.1)
|
73
78
|
multipart-post (>= 1.2, < 3)
|
79
|
+
faraday_middleware (0.11.0.1)
|
80
|
+
faraday (>= 0.7.4, < 1.0)
|
74
81
|
ffi (1.9.18)
|
75
82
|
formatador (0.2.5)
|
76
83
|
guard (2.14.1)
|
@@ -87,7 +94,8 @@ GEM
|
|
87
94
|
guard (~> 2.1)
|
88
95
|
guard-compat (~> 1.1)
|
89
96
|
rspec (>= 2.99.0, < 4.0)
|
90
|
-
|
97
|
+
hashdiff (0.3.4)
|
98
|
+
hashie (3.5.6)
|
91
99
|
heroics (0.0.23)
|
92
100
|
erubis (~> 2.0)
|
93
101
|
excon
|
@@ -97,6 +105,7 @@ GEM
|
|
97
105
|
i18n (0.8.4)
|
98
106
|
journey (1.0.4)
|
99
107
|
json (1.8.6)
|
108
|
+
jwt (1.5.6)
|
100
109
|
listen (3.1.5)
|
101
110
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
102
111
|
rb-inotify (~> 0.9, >= 0.9.7)
|
@@ -110,14 +119,32 @@ GEM
|
|
110
119
|
mime-types (1.25.1)
|
111
120
|
moneta (0.8.1)
|
112
121
|
multi_json (1.12.1)
|
122
|
+
multi_xml (0.6.0)
|
113
123
|
multipart-post (2.0.0)
|
114
124
|
nenv (0.3.0)
|
115
125
|
newrelic_rpm (4.2.0.334)
|
116
126
|
notiffany (0.1.1)
|
117
127
|
nenv (~> 0.1)
|
118
128
|
shellany (~> 0.0)
|
129
|
+
oauth2 (1.4.0)
|
130
|
+
faraday (>= 0.8, < 0.13)
|
131
|
+
jwt (~> 1.0)
|
132
|
+
multi_json (~> 1.3)
|
133
|
+
multi_xml (~> 0.5)
|
134
|
+
rack (>= 1.2, < 3)
|
119
135
|
octokit (4.7.0)
|
120
136
|
sawyer (~> 0.8.0, >= 0.5.3)
|
137
|
+
omniauth (1.4.2)
|
138
|
+
hashie (>= 1.2, < 4)
|
139
|
+
rack (>= 1.0, < 3)
|
140
|
+
omniauth-google-oauth2 (0.5.0)
|
141
|
+
jwt (~> 1.5)
|
142
|
+
multi_json (~> 1.3)
|
143
|
+
omniauth (>= 1.1.1)
|
144
|
+
omniauth-oauth2 (>= 1.3.1)
|
145
|
+
omniauth-oauth2 (1.4.0)
|
146
|
+
oauth2 (~> 1.0)
|
147
|
+
omniauth (~> 1.2)
|
121
148
|
pg (0.21.0)
|
122
149
|
platform-api (2.1.0)
|
123
150
|
heroics (~> 0.0.23)
|
@@ -178,6 +205,7 @@ GEM
|
|
178
205
|
rspec-support (~> 3.6.0)
|
179
206
|
rspec-support (3.6.0)
|
180
207
|
ruby_dep (1.5.0)
|
208
|
+
safe_yaml (1.0.4)
|
181
209
|
sawyer (0.8.1)
|
182
210
|
addressable (>= 2.3.5, < 2.6)
|
183
211
|
faraday (~> 0.8, < 1.0)
|
@@ -206,6 +234,10 @@ GEM
|
|
206
234
|
polyglot (>= 0.3.1)
|
207
235
|
tzinfo (0.3.53)
|
208
236
|
url (0.3.2)
|
237
|
+
webmock (3.0.1)
|
238
|
+
addressable (>= 2.3.6)
|
239
|
+
crack (>= 0.3.2)
|
240
|
+
hashdiff
|
209
241
|
|
210
242
|
PLATFORMS
|
211
243
|
ruby
|
@@ -219,6 +251,7 @@ DEPENDENCIES
|
|
219
251
|
memfs
|
220
252
|
pg
|
221
253
|
pry-byebug
|
254
|
+
rack-test
|
222
255
|
rails (~> 3.2)
|
223
256
|
rake (~> 10.0)
|
224
257
|
roo_on_rails!
|
@@ -227,6 +260,7 @@ DEPENDENCIES
|
|
227
260
|
simplecov
|
228
261
|
sqlite3
|
229
262
|
thor (~> 0.19)
|
263
|
+
webmock
|
230
264
|
|
231
265
|
BUNDLED WITH
|
232
266
|
1.14.6
|
data/gemfiles/rails_4.gemfile
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ..
|
3
3
|
specs:
|
4
|
-
roo_on_rails (1.
|
4
|
+
roo_on_rails (1.7.0)
|
5
5
|
dogstatsd-ruby
|
6
6
|
dotenv-rails (~> 2.1)
|
7
|
+
faraday
|
8
|
+
faraday_middleware
|
7
9
|
hashie (~> 3.4)
|
8
10
|
hirefire-resource
|
9
11
|
newrelic_rpm
|
10
12
|
octokit
|
13
|
+
omniauth-google-oauth2
|
11
14
|
platform-api (~> 2.0)
|
12
15
|
rack-ssl-enforcer
|
13
16
|
rack-timeout
|
@@ -67,6 +70,8 @@ GEM
|
|
67
70
|
coderay (1.1.1)
|
68
71
|
concurrent-ruby (1.0.5)
|
69
72
|
connection_pool (2.2.1)
|
73
|
+
crack (0.4.3)
|
74
|
+
safe_yaml (~> 1.0.0)
|
70
75
|
diff-lcs (1.3)
|
71
76
|
docile (1.1.5)
|
72
77
|
dogstatsd-ruby (3.0.0)
|
@@ -78,6 +83,8 @@ GEM
|
|
78
83
|
excon (0.57.1)
|
79
84
|
faraday (0.12.1)
|
80
85
|
multipart-post (>= 1.2, < 3)
|
86
|
+
faraday_middleware (0.11.0.1)
|
87
|
+
faraday (>= 0.7.4, < 1.0)
|
81
88
|
ffi (1.9.18)
|
82
89
|
formatador (0.2.5)
|
83
90
|
globalid (0.4.0)
|
@@ -96,7 +103,8 @@ GEM
|
|
96
103
|
guard (~> 2.1)
|
97
104
|
guard-compat (~> 1.1)
|
98
105
|
rspec (>= 2.99.0, < 4.0)
|
99
|
-
|
106
|
+
hashdiff (0.3.4)
|
107
|
+
hashie (3.5.6)
|
100
108
|
heroics (0.0.23)
|
101
109
|
erubis (~> 2.0)
|
102
110
|
excon
|
@@ -104,6 +112,7 @@ GEM
|
|
104
112
|
hirefire-resource (0.4.2)
|
105
113
|
i18n (0.8.4)
|
106
114
|
json (2.1.0)
|
115
|
+
jwt (1.5.6)
|
107
116
|
listen (3.1.5)
|
108
117
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
109
118
|
rb-inotify (~> 0.9, >= 0.9.7)
|
@@ -122,6 +131,7 @@ GEM
|
|
122
131
|
minitest (5.10.2)
|
123
132
|
moneta (0.8.1)
|
124
133
|
multi_json (1.12.1)
|
134
|
+
multi_xml (0.6.0)
|
125
135
|
multipart-post (2.0.0)
|
126
136
|
nenv (0.3.0)
|
127
137
|
newrelic_rpm (4.2.0.334)
|
@@ -130,8 +140,25 @@ GEM
|
|
130
140
|
notiffany (0.1.1)
|
131
141
|
nenv (~> 0.1)
|
132
142
|
shellany (~> 0.0)
|
143
|
+
oauth2 (1.4.0)
|
144
|
+
faraday (>= 0.8, < 0.13)
|
145
|
+
jwt (~> 1.0)
|
146
|
+
multi_json (~> 1.3)
|
147
|
+
multi_xml (~> 0.5)
|
148
|
+
rack (>= 1.2, < 3)
|
133
149
|
octokit (4.7.0)
|
134
150
|
sawyer (~> 0.8.0, >= 0.5.3)
|
151
|
+
omniauth (1.6.1)
|
152
|
+
hashie (>= 3.4.6, < 3.6.0)
|
153
|
+
rack (>= 1.6.2, < 3)
|
154
|
+
omniauth-google-oauth2 (0.5.0)
|
155
|
+
jwt (~> 1.5)
|
156
|
+
multi_json (~> 1.3)
|
157
|
+
omniauth (>= 1.1.1)
|
158
|
+
omniauth-oauth2 (>= 1.3.1)
|
159
|
+
omniauth-oauth2 (1.4.0)
|
160
|
+
oauth2 (~> 1.0)
|
161
|
+
omniauth (~> 1.2)
|
135
162
|
pg (0.21.0)
|
136
163
|
platform-api (2.1.0)
|
137
164
|
heroics (~> 0.0.23)
|
@@ -194,6 +221,7 @@ GEM
|
|
194
221
|
rspec-support (~> 3.6.0)
|
195
222
|
rspec-support (3.6.0)
|
196
223
|
ruby_dep (1.5.0)
|
224
|
+
safe_yaml (1.0.4)
|
197
225
|
sawyer (0.8.1)
|
198
226
|
addressable (>= 2.3.5, < 2.6)
|
199
227
|
faraday (~> 0.8, < 1.0)
|
@@ -222,6 +250,10 @@ GEM
|
|
222
250
|
tzinfo (1.2.3)
|
223
251
|
thread_safe (~> 0.1)
|
224
252
|
url (0.3.2)
|
253
|
+
webmock (3.0.1)
|
254
|
+
addressable (>= 2.3.6)
|
255
|
+
crack (>= 0.3.2)
|
256
|
+
hashdiff
|
225
257
|
|
226
258
|
PLATFORMS
|
227
259
|
ruby
|
@@ -235,6 +267,7 @@ DEPENDENCIES
|
|
235
267
|
memfs
|
236
268
|
pg
|
237
269
|
pry-byebug
|
270
|
+
rack-test
|
238
271
|
rails (~> 4.2)
|
239
272
|
rake (~> 10.0)
|
240
273
|
roo_on_rails!
|
@@ -242,6 +275,7 @@ DEPENDENCIES
|
|
242
275
|
simplecov
|
243
276
|
sqlite3
|
244
277
|
thor (~> 0.19)
|
278
|
+
webmock
|
245
279
|
|
246
280
|
BUNDLED WITH
|
247
281
|
1.14.6
|