ddtrace 0.12.0 → 0.13.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.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +468 -0
  3. data/.circleci/images/primary/Dockerfile-1.9.3 +69 -0
  4. data/.circleci/images/primary/Dockerfile-2.0.0 +69 -0
  5. data/.circleci/images/primary/Dockerfile-2.1.10 +69 -0
  6. data/.circleci/images/primary/Dockerfile-2.2.10 +69 -0
  7. data/.circleci/images/primary/Dockerfile-2.3.7 +73 -0
  8. data/.circleci/images/primary/Dockerfile-2.4.4 +73 -0
  9. data/.dockerignore +1 -0
  10. data/.env +21 -11
  11. data/.gitignore +1 -1
  12. data/.rubocop.yml +4 -1
  13. data/Appraisals +471 -66
  14. data/CHANGELOG.md +80 -2
  15. data/Rakefile +304 -80
  16. data/ddtrace.gemspec +7 -7
  17. data/docker-compose.yml +240 -37
  18. data/docs/GettingStarted.md +273 -7
  19. data/lib/ddtrace/configuration.rb +2 -2
  20. data/lib/ddtrace/contrib/active_model_serializers/event.rb +57 -0
  21. data/lib/ddtrace/contrib/active_model_serializers/events/render.rb +32 -0
  22. data/lib/ddtrace/contrib/active_model_serializers/events/serialize.rb +35 -0
  23. data/lib/ddtrace/contrib/active_model_serializers/events.rb +30 -0
  24. data/lib/ddtrace/contrib/active_model_serializers/patcher.rb +62 -0
  25. data/lib/ddtrace/contrib/active_record/event.rb +30 -0
  26. data/lib/ddtrace/contrib/active_record/events/instantiation.rb +51 -0
  27. data/lib/ddtrace/contrib/active_record/events/sql.rb +48 -0
  28. data/lib/ddtrace/contrib/active_record/events.rb +30 -0
  29. data/lib/ddtrace/contrib/active_record/patcher.rb +3 -73
  30. data/lib/ddtrace/contrib/active_record/utils.rb +1 -15
  31. data/lib/ddtrace/contrib/active_support/notifications/event.rb +62 -0
  32. data/lib/ddtrace/contrib/aws/instrumentation.rb +2 -2
  33. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +2 -2
  34. data/lib/ddtrace/contrib/elasticsearch/quantize.rb +18 -49
  35. data/lib/ddtrace/contrib/excon/middleware.rb +139 -0
  36. data/lib/ddtrace/contrib/excon/patcher.rb +50 -0
  37. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +49 -0
  38. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +66 -0
  39. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +65 -0
  40. data/lib/ddtrace/contrib/grpc/intercept_with_datadog.rb +49 -0
  41. data/lib/ddtrace/contrib/grpc/patcher.rb +62 -0
  42. data/lib/ddtrace/contrib/http/patcher.rb +18 -16
  43. data/lib/ddtrace/contrib/mongodb/parsers.rb +24 -13
  44. data/lib/ddtrace/contrib/mongodb/patcher.rb +1 -0
  45. data/lib/ddtrace/contrib/mongodb/subscribers.rb +5 -4
  46. data/lib/ddtrace/contrib/mysql2/client.rb +60 -0
  47. data/lib/ddtrace/contrib/mysql2/patcher.rb +43 -0
  48. data/lib/ddtrace/contrib/racecar/event.rb +61 -0
  49. data/lib/ddtrace/contrib/racecar/events/batch.rb +27 -0
  50. data/lib/ddtrace/contrib/racecar/events/message.rb +27 -0
  51. data/lib/ddtrace/contrib/racecar/events.rb +30 -0
  52. data/lib/ddtrace/contrib/racecar/patcher.rb +6 -52
  53. data/lib/ddtrace/contrib/rack/middlewares.rb +65 -11
  54. data/lib/ddtrace/contrib/rack/patcher.rb +16 -0
  55. data/lib/ddtrace/contrib/rack/request_queue.rb +34 -0
  56. data/lib/ddtrace/contrib/rails/action_controller_patch.rb +77 -0
  57. data/lib/ddtrace/contrib/rails/action_view.rb +0 -65
  58. data/lib/ddtrace/contrib/rails/active_support.rb +9 -8
  59. data/lib/ddtrace/contrib/rails/core_extensions.rb +74 -115
  60. data/lib/ddtrace/contrib/rake/instrumentation.rb +70 -0
  61. data/lib/ddtrace/contrib/rake/patcher.rb +53 -0
  62. data/lib/ddtrace/contrib/sequel/database.rb +58 -0
  63. data/lib/ddtrace/contrib/sequel/dataset.rb +59 -0
  64. data/lib/ddtrace/contrib/sequel/patcher.rb +56 -0
  65. data/lib/ddtrace/contrib/sequel/utils.rb +28 -0
  66. data/lib/ddtrace/contrib/sidekiq/tracer.rb +1 -0
  67. data/lib/ddtrace/contrib/sinatra/env.rb +39 -0
  68. data/lib/ddtrace/contrib/sinatra/headers.rb +31 -0
  69. data/lib/ddtrace/contrib/sinatra/tracer.rb +21 -38
  70. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +61 -0
  71. data/lib/ddtrace/ext/distributed.rb +5 -0
  72. data/lib/ddtrace/ext/grpc.rb +7 -0
  73. data/lib/ddtrace/ext/http.rb +35 -5
  74. data/lib/ddtrace/propagation/grpc_propagator.rb +54 -0
  75. data/lib/ddtrace/quantization/hash.rb +103 -0
  76. data/lib/ddtrace/tracer.rb +4 -1
  77. data/lib/ddtrace/utils/database.rb +21 -0
  78. data/lib/ddtrace/utils.rb +12 -2
  79. data/lib/ddtrace/version.rb +1 -1
  80. data/lib/ddtrace.rb +7 -0
  81. metadata +50 -21
  82. data/circle.yml +0 -69
  83. data/gemfiles/contrib.gemfile +0 -25
  84. data/gemfiles/contrib_old.gemfile +0 -23
  85. data/gemfiles/rails30_postgres.gemfile +0 -11
  86. data/gemfiles/rails30_postgres_sidekiq.gemfile +0 -12
  87. data/gemfiles/rails32_mysql2.gemfile +0 -12
  88. data/gemfiles/rails32_postgres.gemfile +0 -11
  89. data/gemfiles/rails32_postgres_redis.gemfile +0 -13
  90. data/gemfiles/rails32_postgres_sidekiq.gemfile +0 -12
  91. data/gemfiles/rails4_mysql2.gemfile +0 -10
  92. data/gemfiles/rails4_postgres.gemfile +0 -10
  93. data/gemfiles/rails4_postgres_redis.gemfile +0 -12
  94. data/gemfiles/rails4_postgres_sidekiq.gemfile +0 -12
  95. data/gemfiles/rails5_mysql2.gemfile +0 -9
  96. data/gemfiles/rails5_postgres.gemfile +0 -9
  97. data/gemfiles/rails5_postgres_redis.gemfile +0 -11
  98. data/gemfiles/rails5_postgres_sidekiq.gemfile +0 -11
data/Appraisals CHANGED
@@ -1,30 +1,112 @@
1
- if RUBY_VERSION < '2.4.0' && RUBY_PLATFORM != 'java'
2
- if RUBY_VERSION >= '1.9.1'
1
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.3')
2
+ raise NotImplementedError, 'Ruby versions < 1.9.3 are not supported!'
3
+ elsif Gem::Version.new('1.9.3') <= Gem::Version.new(RUBY_VERSION) \
4
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.0.0')
5
+ if RUBY_PLATFORM != 'java'
6
+ appraise 'rails30-postgres' do
7
+ gem 'test-unit'
8
+ gem 'rails', '3.0.20'
9
+ gem 'pg', '0.15.1', platform: :ruby
10
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
11
+ gem 'rack-cache', '1.7.1'
12
+ end
13
+
14
+ appraise 'rails30-postgres-sidekiq' do
15
+ gem 'test-unit'
16
+ gem 'rails', '3.0.20'
17
+ gem 'pg', '0.15.1', platform: :ruby
18
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
19
+ gem 'sidekiq', '4.0.0'
20
+ gem 'rack-cache', '1.7.1'
21
+ end
22
+
3
23
  appraise 'rails32-mysql2' do
4
24
  gem 'test-unit'
5
25
  gem 'rails', '3.2.22.5'
6
26
  gem 'mysql2', '0.3.21', platform: :ruby
7
27
  gem 'activerecord-mysql-adapter', platform: :ruby
8
28
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
29
+ gem 'rack-cache', '1.7.1'
30
+ end
31
+
32
+ appraise 'rails32-postgres' do
33
+ gem 'test-unit'
34
+ gem 'rails', '3.2.22.5'
35
+ gem 'pg', '0.15.1', platform: :ruby
36
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
37
+ gem 'rack-cache', '1.7.1'
38
+ end
39
+
40
+ appraise 'rails32-postgres-redis' do
41
+ gem 'test-unit'
42
+ gem 'rails', '3.2.22.5'
43
+ gem 'pg', '0.15.1', platform: :ruby
44
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
45
+ gem 'redis-rails'
46
+ gem 'redis', '< 4.0'
47
+ gem 'rack-cache', '1.7.1'
48
+ end
49
+
50
+ appraise 'rails32-postgres-sidekiq' do
51
+ gem 'test-unit'
52
+ gem 'rails', '3.2.22.5'
53
+ gem 'pg', '0.15.1', platform: :ruby
54
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
55
+ gem 'sidekiq', '4.0.0'
56
+ gem 'rack-cache', '1.7.1'
9
57
  end
10
- end
11
58
 
12
- if RUBY_VERSION >= '1.9.1'
59
+ appraise 'contrib-old' do
60
+ gem 'active_model_serializers', '~> 0.9.0'
61
+ gem 'activerecord', '3.2.22.5'
62
+ gem 'activerecord-mysql-adapter', platform: :ruby
63
+ gem 'aws-sdk', '~> 2.0'
64
+ gem 'dalli'
65
+ gem 'elasticsearch-transport'
66
+ gem 'excon'
67
+ gem 'hiredis'
68
+ gem 'mongo', '< 2.5'
69
+ gem 'mysql2', '0.3.21', platform: :ruby
70
+ gem 'rack', '1.4.7'
71
+ gem 'rack-cache', '1.7.1'
72
+ gem 'rack-test', '0.7.0'
73
+ gem 'rake', '< 12.3'
74
+ gem 'redis', '< 4.0'
75
+ gem 'resque', '< 2.0'
76
+ gem 'sequel', '~> 4.0', '< 4.37'
77
+ gem 'sidekiq', '4.0.0'
78
+ gem 'sinatra', '1.4.5'
79
+ gem 'sqlite3'
80
+ gem 'sucker_punch'
81
+ end
82
+ end
83
+ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
84
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
85
+ if RUBY_PLATFORM != 'java'
13
86
  appraise 'rails30-postgres' do
14
87
  gem 'test-unit'
15
88
  gem 'rails', '3.0.20'
16
89
  gem 'pg', '0.15.1', platform: :ruby
17
90
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
91
+ gem 'rack-cache', '1.7.1'
92
+ end
93
+
94
+ appraise 'rails30-postgres-sidekiq' do
95
+ gem 'test-unit'
96
+ gem 'rails', '3.0.20'
97
+ gem 'pg', '0.15.1', platform: :ruby
98
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
99
+ gem 'sidekiq', '4.0.0'
100
+ gem 'rack-cache', '1.7.1'
18
101
  end
19
102
 
20
- if RUBY_VERSION < '2.2.2'
21
- appraise 'rails30-postgres-sidekiq' do
22
- gem 'test-unit'
23
- gem 'rails', '3.0.20'
24
- gem 'pg', '0.15.1', platform: :ruby
25
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
26
- gem 'sidekiq', '4.0.0'
27
- end
103
+ appraise 'rails32-mysql2' do
104
+ gem 'test-unit'
105
+ gem 'rails', '3.2.22.5'
106
+ gem 'mysql2', '0.3.21', platform: :ruby
107
+ gem 'activerecord-mysql-adapter', platform: :ruby
108
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
109
+ gem 'rack-cache', '1.7.1'
28
110
  end
29
111
 
30
112
  appraise 'rails32-postgres' do
@@ -32,6 +114,7 @@ if RUBY_VERSION < '2.4.0' && RUBY_PLATFORM != 'java'
32
114
  gem 'rails', '3.2.22.5'
33
115
  gem 'pg', '0.15.1', platform: :ruby
34
116
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
117
+ gem 'rack-cache', '1.7.1'
35
118
  end
36
119
 
37
120
  appraise 'rails32-postgres-redis' do
@@ -41,20 +124,98 @@ if RUBY_VERSION < '2.4.0' && RUBY_PLATFORM != 'java'
41
124
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
42
125
  gem 'redis-rails'
43
126
  gem 'redis', '< 4.0'
127
+ gem 'rack-cache', '1.7.1'
44
128
  end
45
129
 
46
- if RUBY_VERSION < '2.2.2'
47
- appraise 'rails32-postgres-sidekiq' do
48
- gem 'test-unit'
49
- gem 'rails', '3.2.22.5'
50
- gem 'pg', '0.15.1', platform: :ruby
51
- gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
52
- gem 'sidekiq', '4.0.0'
53
- end
130
+ appraise 'rails32-postgres-sidekiq' do
131
+ gem 'test-unit'
132
+ gem 'rails', '3.2.22.5'
133
+ gem 'pg', '0.15.1', platform: :ruby
134
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
135
+ gem 'sidekiq', '4.0.0'
136
+ gem 'rack-cache', '1.7.1'
137
+ end
138
+
139
+ appraise 'contrib-old' do
140
+ gem 'active_model_serializers', '~> 0.9.0'
141
+ gem 'activerecord', '3.2.22.5'
142
+ gem 'activerecord-mysql-adapter', platform: :ruby
143
+ gem 'aws-sdk', '~> 2.0'
144
+ gem 'dalli'
145
+ gem 'elasticsearch-transport'
146
+ gem 'excon'
147
+ gem 'hiredis'
148
+ gem 'mongo', '< 2.5'
149
+ gem 'mysql2', '0.3.21', platform: :ruby
150
+ gem 'rack', '1.4.7'
151
+ gem 'rack-cache', '1.7.1'
152
+ gem 'rack-test', '0.7.0'
153
+ gem 'rake', '< 12.3'
154
+ gem 'redis', '< 4.0'
155
+ gem 'resque', '< 2.0'
156
+ gem 'sequel', '~> 4.0', '< 4.37'
157
+ gem 'sidekiq', '4.0.0'
158
+ gem 'sinatra', '1.4.5'
159
+ gem 'sqlite3'
160
+ gem 'sucker_punch'
54
161
  end
55
162
  end
163
+ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
164
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.0')
165
+ if RUBY_PLATFORM != 'java'
166
+ appraise 'rails30-postgres' do
167
+ gem 'test-unit'
168
+ gem 'rails', '3.0.20'
169
+ gem 'pg', '0.15.1', platform: :ruby
170
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
171
+ gem 'rack-cache', '1.7.1'
172
+ end
173
+
174
+ appraise 'rails30-postgres-sidekiq' do
175
+ gem 'test-unit'
176
+ gem 'rails', '3.0.20'
177
+ gem 'pg', '0.15.1', platform: :ruby
178
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
179
+ gem 'sidekiq', '4.0.0'
180
+ gem 'rack-cache', '1.7.1'
181
+ end
182
+
183
+ appraise 'rails32-mysql2' do
184
+ gem 'test-unit'
185
+ gem 'rails', '3.2.22.5'
186
+ gem 'mysql2', '0.3.21', platform: :ruby
187
+ gem 'activerecord-mysql-adapter', platform: :ruby
188
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
189
+ gem 'rack-cache', '1.7.1'
190
+ end
191
+
192
+ appraise 'rails32-postgres' do
193
+ gem 'test-unit'
194
+ gem 'rails', '3.2.22.5'
195
+ gem 'pg', '0.15.1', platform: :ruby
196
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
197
+ gem 'rack-cache', '1.7.1'
198
+ end
199
+
200
+ appraise 'rails32-postgres-redis' do
201
+ gem 'test-unit'
202
+ gem 'rails', '3.2.22.5'
203
+ gem 'pg', '0.15.1', platform: :ruby
204
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
205
+ gem 'redis-rails'
206
+ gem 'redis', '< 4.0'
207
+ gem 'rack-cache', '1.7.1'
208
+ end
209
+
210
+ appraise 'rails32-postgres-sidekiq' do
211
+ gem 'test-unit'
212
+ gem 'rails', '3.2.22.5'
213
+ gem 'pg', '0.15.1', platform: :ruby
214
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
215
+ gem 'sidekiq', '4.0.0'
216
+ gem 'rack-cache', '1.7.1'
217
+ end
56
218
 
57
- if RUBY_VERSION >= '2.1.10'
58
219
  appraise 'rails4-mysql2' do
59
220
  gem 'rails', '4.2.7.1'
60
221
  gem 'mysql2', '< 0.5', platform: :ruby
@@ -74,33 +235,241 @@ if RUBY_VERSION < '2.4.0' && RUBY_PLATFORM != 'java'
74
235
  gem 'redis-rails'
75
236
  gem 'redis', '< 4.0'
76
237
  end
238
+
239
+ appraise 'contrib-old' do
240
+ gem 'active_model_serializers', '~> 0.9.0'
241
+ gem 'activerecord', '3.2.22.5'
242
+ gem 'activerecord-mysql-adapter', platform: :ruby
243
+ gem 'aws-sdk', '~> 2.0'
244
+ gem 'dalli'
245
+ gem 'elasticsearch-transport'
246
+ gem 'excon'
247
+ gem 'hiredis'
248
+ gem 'mongo', '< 2.5'
249
+ gem 'mysql2', '0.3.21', platform: :ruby
250
+ gem 'rack', '1.4.7'
251
+ gem 'rack-cache', '1.7.1'
252
+ gem 'rack-test', '0.7.0'
253
+ gem 'rake', '< 12.3'
254
+ gem 'redis', '< 4.0'
255
+ gem 'resque', '< 2.0'
256
+ gem 'sequel', '~> 4.0', '< 4.37'
257
+ gem 'sidekiq', '4.0.0'
258
+ gem 'sinatra', '1.4.5'
259
+ gem 'sqlite3'
260
+ gem 'sucker_punch'
261
+ end
77
262
  end
263
+ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
264
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0')
265
+ if RUBY_PLATFORM != 'java'
266
+ appraise 'rails30-postgres' do
267
+ gem 'test-unit'
268
+ gem 'rails', '3.0.20'
269
+ gem 'pg', '0.15.1', platform: :ruby
270
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
271
+ gem 'rack-cache', '1.7.1'
272
+ end
273
+
274
+ appraise 'rails30-postgres-sidekiq' do
275
+ gem 'test-unit'
276
+ gem 'rails', '3.0.20'
277
+ gem 'pg', '0.15.1', platform: :ruby
278
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
279
+ gem 'sidekiq', '4.0.0'
280
+ gem 'rack-cache', '1.7.1'
281
+ end
282
+
283
+ appraise 'rails32-mysql2' do
284
+ gem 'test-unit'
285
+ gem 'rails', '3.2.22.5'
286
+ gem 'mysql2', '0.3.21', platform: :ruby
287
+ gem 'activerecord-mysql-adapter', platform: :ruby
288
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
289
+ gem 'rack-cache', '1.7.1'
290
+ end
291
+
292
+ appraise 'rails32-postgres' do
293
+ gem 'test-unit'
294
+ gem 'rails', '3.2.22.5'
295
+ gem 'pg', '0.15.1', platform: :ruby
296
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
297
+ gem 'rack-cache', '1.7.1'
298
+ end
299
+
300
+ appraise 'rails32-postgres-redis' do
301
+ gem 'test-unit'
302
+ gem 'rails', '3.2.22.5'
303
+ gem 'pg', '0.15.1', platform: :ruby
304
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
305
+ gem 'redis-rails'
306
+ gem 'redis', '< 4.0'
307
+ gem 'rack-cache', '1.7.1'
308
+ end
309
+
310
+ appraise 'rails32-postgres-sidekiq' do
311
+ gem 'test-unit'
312
+ gem 'rails', '3.2.22.5'
313
+ gem 'pg', '0.15.1', platform: :ruby
314
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
315
+ gem 'sidekiq', '4.0.0'
316
+ gem 'rack-cache', '1.7.1'
317
+ end
318
+
319
+ appraise 'rails4-mysql2' do
320
+ gem 'rails', '4.2.7.1'
321
+ gem 'mysql2', '< 0.5', platform: :ruby
322
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
323
+ end
324
+
325
+ appraise 'rails4-postgres' do
326
+ gem 'rails', '4.2.7.1'
327
+ gem 'pg', '< 1.0', platform: :ruby
328
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
329
+ end
330
+
331
+ appraise 'rails4-postgres-redis' do
332
+ gem 'rails', '4.2.7.1'
333
+ gem 'pg', '< 1.0', platform: :ruby
334
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
335
+ gem 'redis-rails'
336
+ gem 'redis', '< 4.0'
337
+ end
338
+
339
+ appraise 'rails4-postgres-sidekiq' do
340
+ gem 'rails', '4.2.7.1'
341
+ gem 'pg', '< 1.0', platform: :ruby
342
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
343
+ gem 'sidekiq'
344
+ gem 'activejob'
345
+ end
78
346
 
79
- if RUBY_VERSION >= '2.2.2'
80
347
  appraise 'rails5-mysql2' do
81
- gem 'rails', '5.1.5'
348
+ gem 'rails', '~> 5.1.6'
82
349
  gem 'mysql2', '< 0.5', platform: :ruby
83
350
  end
84
351
 
85
352
  appraise 'rails5-postgres' do
86
- gem 'rails', '5.1.5'
353
+ gem 'rails', '~> 5.1.6'
87
354
  gem 'pg', '< 1.0', platform: :ruby
88
355
  end
89
356
 
90
357
  appraise 'rails5-postgres-redis' do
91
- gem 'rails', '5.1.5'
358
+ gem 'rails', '~> 5.1.6'
92
359
  gem 'pg', '< 1.0', platform: :ruby
93
360
  gem 'redis-rails'
94
361
  gem 'redis'
95
362
  end
96
363
 
97
364
  appraise 'rails5-postgres-sidekiq' do
98
- gem 'rails', '5.1.5'
365
+ gem 'rails', '~> 5.1.6'
99
366
  gem 'pg', '< 1.0', platform: :ruby
100
367
  gem 'sidekiq'
101
368
  gem 'activejob'
102
369
  end
103
370
 
371
+ appraise 'contrib' do
372
+ gem 'active_model_serializers', '>= 0.10.0'
373
+ gem 'activerecord', '< 5.1.5'
374
+ gem 'aws-sdk'
375
+ gem 'dalli'
376
+ gem 'elasticsearch-transport'
377
+ gem 'excon'
378
+ gem 'grape'
379
+ gem 'graphql'
380
+ gem 'grpc'
381
+ gem 'hiredis'
382
+ gem 'mongo', '< 2.5'
383
+ gem 'mysql2', '< 0.5', platform: :ruby
384
+ gem 'racecar', '>= 0.3.5'
385
+ gem 'rack'
386
+ gem 'rack-test'
387
+ gem 'rake', '>= 12.3'
388
+ gem 'redis', '< 4.0'
389
+ gem 'resque', '< 2.0'
390
+ gem 'sequel'
391
+ gem 'sidekiq'
392
+ gem 'sinatra'
393
+ gem 'sqlite3'
394
+ gem 'sucker_punch'
395
+ end
396
+ end
397
+ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
398
+ && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.4.0')
399
+ if RUBY_PLATFORM != 'java'
400
+ appraise 'rails30-postgres' do
401
+ gem 'test-unit'
402
+ gem 'rails', '3.0.20'
403
+ gem 'pg', '0.15.1', platform: :ruby
404
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
405
+ gem 'rack-cache', '1.7.1'
406
+ end
407
+
408
+ appraise 'rails30-postgres-sidekiq' do
409
+ gem 'test-unit'
410
+ gem 'rails', '3.0.20'
411
+ gem 'pg', '0.15.1', platform: :ruby
412
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
413
+ gem 'sidekiq', '4.0.0'
414
+ gem 'rack-cache', '1.7.1'
415
+ end
416
+
417
+ appraise 'rails32-mysql2' do
418
+ gem 'test-unit'
419
+ gem 'rails', '3.2.22.5'
420
+ gem 'mysql2', '0.3.21', platform: :ruby
421
+ gem 'activerecord-mysql-adapter', platform: :ruby
422
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
423
+ gem 'rack-cache', '1.7.1'
424
+ end
425
+
426
+ appraise 'rails32-postgres' do
427
+ gem 'test-unit'
428
+ gem 'rails', '3.2.22.5'
429
+ gem 'pg', '0.15.1', platform: :ruby
430
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
431
+ gem 'rack-cache', '1.7.1'
432
+ end
433
+
434
+ appraise 'rails32-postgres-redis' do
435
+ gem 'test-unit'
436
+ gem 'rails', '3.2.22.5'
437
+ gem 'pg', '0.15.1', platform: :ruby
438
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
439
+ gem 'redis-rails'
440
+ gem 'redis', '< 4.0'
441
+ gem 'rack-cache', '1.7.1'
442
+ end
443
+
444
+ appraise 'rails32-postgres-sidekiq' do
445
+ gem 'test-unit'
446
+ gem 'rails', '3.2.22.5'
447
+ gem 'pg', '0.15.1', platform: :ruby
448
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
449
+ gem 'sidekiq', '4.0.0'
450
+ gem 'rack-cache', '1.7.1'
451
+ end
452
+
453
+ appraise 'rails4-mysql2' do
454
+ gem 'rails', '4.2.7.1'
455
+ gem 'mysql2', '< 0.5', platform: :ruby
456
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
457
+ end
458
+
459
+ appraise 'rails4-postgres' do
460
+ gem 'rails', '4.2.7.1'
461
+ gem 'pg', '< 1.0', platform: :ruby
462
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
463
+ end
464
+
465
+ appraise 'rails4-postgres-redis' do
466
+ gem 'rails', '4.2.7.1'
467
+ gem 'pg', '< 1.0', platform: :ruby
468
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
469
+ gem 'redis-rails'
470
+ gem 'redis', '< 4.0'
471
+ end
472
+
104
473
  appraise 'rails4-postgres-sidekiq' do
105
474
  gem 'rails', '4.2.7.1'
106
475
  gem 'pg', '< 1.0', platform: :ruby
@@ -108,47 +477,83 @@ if RUBY_VERSION < '2.4.0' && RUBY_PLATFORM != 'java'
108
477
  gem 'sidekiq'
109
478
  gem 'activejob'
110
479
  end
111
- end
112
- end
113
480
 
114
- if RUBY_VERSION >= '2.2.2' && RUBY_PLATFORM != 'java'
115
- appraise 'contrib' do
116
- gem 'elasticsearch-transport'
117
- gem 'mongo', '< 2.5'
118
- gem 'graphql'
119
- gem 'grape'
120
- gem 'rack'
121
- gem 'rack-test'
122
- gem 'redis', '< 4.0'
123
- gem 'hiredis'
124
- gem 'sinatra'
125
- gem 'sqlite3'
126
- gem 'activerecord', '< 5.1.5'
127
- gem 'sidekiq'
128
- gem 'aws-sdk'
129
- gem 'sucker_punch'
130
- gem 'dalli'
131
- gem 'resque', '< 2.0'
132
- gem 'racecar', '>= 0.3.5'
133
- gem 'mysql2', '< 0.5', platform: :ruby
481
+ appraise 'rails5-mysql2' do
482
+ gem 'rails', '~> 5.1.6'
483
+ gem 'mysql2', '< 0.5', platform: :ruby
484
+ end
485
+
486
+ appraise 'rails5-postgres' do
487
+ gem 'rails', '~> 5.1.6'
488
+ gem 'pg', '< 1.0', platform: :ruby
489
+ end
490
+
491
+ appraise 'rails5-postgres-redis' do
492
+ gem 'rails', '~> 5.1.6'
493
+ gem 'pg', '< 1.0', platform: :ruby
494
+ gem 'redis-rails'
495
+ gem 'redis'
496
+ end
497
+
498
+ appraise 'rails5-postgres-sidekiq' do
499
+ gem 'rails', '~> 5.1.6'
500
+ gem 'pg', '< 1.0', platform: :ruby
501
+ gem 'sidekiq'
502
+ gem 'activejob'
503
+ end
504
+
505
+ appraise 'contrib' do
506
+ gem 'active_model_serializers', '>= 0.10.0'
507
+ gem 'activerecord', '< 5.1.5'
508
+ gem 'aws-sdk'
509
+ gem 'dalli'
510
+ gem 'elasticsearch-transport'
511
+ gem 'excon'
512
+ gem 'grape'
513
+ gem 'graphql'
514
+ gem 'grpc'
515
+ gem 'hiredis'
516
+ gem 'mongo', '< 2.5'
517
+ gem 'mysql2', '< 0.5', platform: :ruby
518
+ gem 'racecar', '>= 0.3.5'
519
+ gem 'rack'
520
+ gem 'rack-test'
521
+ gem 'rake', '>= 12.3'
522
+ gem 'redis', '< 4.0'
523
+ gem 'resque', '< 2.0'
524
+ gem 'sequel'
525
+ gem 'sidekiq'
526
+ gem 'sinatra'
527
+ gem 'sqlite3'
528
+ gem 'sucker_punch'
529
+ end
134
530
  end
135
- else
136
- appraise 'contrib-old' do
137
- gem 'elasticsearch-transport'
138
- gem 'mongo', '< 2.5'
139
- gem 'redis', '< 4.0'
140
- gem 'hiredis'
141
- gem 'rack', '1.4.7'
142
- gem 'rack-test', '0.7.0'
143
- gem 'sinatra', '1.4.5'
144
- gem 'sqlite3'
145
- gem 'activerecord', '3.2.22.5'
146
- gem 'sidekiq', '4.0.0'
147
- gem 'aws-sdk', '~> 2.0'
148
- gem 'sucker_punch'
149
- gem 'dalli'
150
- gem 'resque', '< 2.0'
151
- gem 'mysql2', '0.3.21', platform: :ruby
152
- gem 'activerecord-mysql-adapter', platform: :ruby
531
+ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION)
532
+ if RUBY_PLATFORM != 'java'
533
+ appraise 'contrib' do
534
+ gem 'active_model_serializers', '>= 0.10.0'
535
+ gem 'activerecord', '< 5.1.5'
536
+ gem 'aws-sdk'
537
+ gem 'dalli'
538
+ gem 'elasticsearch-transport'
539
+ gem 'excon'
540
+ gem 'grape'
541
+ gem 'graphql'
542
+ gem 'grpc'
543
+ gem 'hiredis'
544
+ gem 'mongo', '< 2.5'
545
+ gem 'mysql2', '< 0.5', platform: :ruby
546
+ gem 'racecar', '>= 0.3.5'
547
+ gem 'rack'
548
+ gem 'rack-test'
549
+ gem 'rake', '>= 12.3'
550
+ gem 'redis', '< 4.0'
551
+ gem 'resque', '< 2.0'
552
+ gem 'sequel'
553
+ gem 'sidekiq'
554
+ gem 'sinatra'
555
+ gem 'sqlite3'
556
+ gem 'sucker_punch'
557
+ end
153
558
  end
154
559
  end