ddtrace 0.36.0 → 0.41.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 (197) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +59 -1
  3. data/.gitignore +2 -0
  4. data/.gitlab-ci.yml +27 -0
  5. data/.simplecov +38 -0
  6. data/Appraisals +131 -6
  7. data/CHANGELOG.md +198 -1
  8. data/Rakefile +504 -467
  9. data/ddtrace.gemspec +7 -0
  10. data/docker-compose.yml +2 -2
  11. data/docs/DevelopmentGuide.md +16 -0
  12. data/docs/GettingStarted.md +192 -111
  13. data/lib/ddtrace.rb +4 -0
  14. data/lib/ddtrace/buffer.rb +154 -43
  15. data/lib/ddtrace/configuration.rb +39 -5
  16. data/lib/ddtrace/configuration/components.rb +4 -7
  17. data/lib/ddtrace/configuration/options.rb +3 -1
  18. data/lib/ddtrace/configuration/pin_setup.rb +3 -2
  19. data/lib/ddtrace/configuration/settings.rb +32 -4
  20. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +7 -2
  21. data/lib/ddtrace/contrib/action_cable/ext.rb +5 -2
  22. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +7 -2
  23. data/lib/ddtrace/contrib/action_pack/ext.rb +5 -2
  24. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +7 -2
  25. data/lib/ddtrace/contrib/action_view/ext.rb +5 -2
  26. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +7 -2
  27. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +5 -2
  28. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +7 -2
  29. data/lib/ddtrace/contrib/active_record/events/sql.rb +4 -0
  30. data/lib/ddtrace/contrib/active_record/ext.rb +5 -2
  31. data/lib/ddtrace/contrib/active_support/cache/redis.rb +1 -1
  32. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +7 -2
  33. data/lib/ddtrace/contrib/active_support/ext.rb +5 -2
  34. data/lib/ddtrace/contrib/active_support/notifications/event.rb +3 -1
  35. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +3 -3
  36. data/lib/ddtrace/contrib/aws/configuration/settings.rb +7 -2
  37. data/lib/ddtrace/contrib/aws/ext.rb +5 -2
  38. data/lib/ddtrace/contrib/aws/instrumentation.rb +4 -0
  39. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +5 -0
  40. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +9 -3
  41. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
  42. data/lib/ddtrace/contrib/configuration/settings.rb +19 -0
  43. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +7 -2
  44. data/lib/ddtrace/contrib/dalli/ext.rb +5 -2
  45. data/lib/ddtrace/contrib/dalli/instrumentation.rb +4 -0
  46. data/lib/ddtrace/contrib/dalli/patcher.rb +1 -5
  47. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +7 -2
  48. data/lib/ddtrace/contrib/delayed_job/ext.rb +5 -2
  49. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +7 -2
  50. data/lib/ddtrace/contrib/elasticsearch/ext.rb +5 -2
  51. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +5 -2
  52. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +7 -2
  53. data/lib/ddtrace/contrib/ethon/easy_patch.rb +4 -2
  54. data/lib/ddtrace/contrib/ethon/ext.rb +5 -2
  55. data/lib/ddtrace/contrib/ethon/multi_patch.rb +4 -0
  56. data/lib/ddtrace/contrib/excon/configuration/settings.rb +7 -2
  57. data/lib/ddtrace/contrib/excon/ext.rb +5 -2
  58. data/lib/ddtrace/contrib/excon/middleware.rb +4 -0
  59. data/lib/ddtrace/contrib/extensions.rb +11 -1
  60. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +7 -2
  61. data/lib/ddtrace/contrib/faraday/ext.rb +5 -2
  62. data/lib/ddtrace/contrib/faraday/middleware.rb +9 -3
  63. data/lib/ddtrace/contrib/faraday/patcher.rb +13 -5
  64. data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -3
  65. data/lib/ddtrace/contrib/grape/endpoint.rb +6 -4
  66. data/lib/ddtrace/contrib/grape/ext.rb +5 -2
  67. data/lib/ddtrace/contrib/grape/patcher.rb +1 -1
  68. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +7 -2
  69. data/lib/ddtrace/contrib/graphql/ext.rb +5 -2
  70. data/lib/ddtrace/contrib/graphql/patcher.rb +6 -3
  71. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +7 -2
  72. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +1 -1
  73. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +5 -3
  74. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +4 -0
  75. data/lib/ddtrace/contrib/grpc/ext.rb +5 -2
  76. data/lib/ddtrace/contrib/grpc/patcher.rb +1 -5
  77. data/lib/ddtrace/contrib/http/configuration/settings.rb +7 -2
  78. data/lib/ddtrace/contrib/http/ext.rb +5 -2
  79. data/lib/ddtrace/contrib/http/instrumentation.rb +16 -7
  80. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +32 -0
  81. data/lib/ddtrace/contrib/httprb/ext.rb +17 -0
  82. data/lib/ddtrace/contrib/httprb/instrumentation.rb +163 -0
  83. data/lib/ddtrace/contrib/httprb/integration.rb +43 -0
  84. data/lib/ddtrace/contrib/httprb/patcher.rb +35 -0
  85. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +30 -0
  86. data/lib/ddtrace/contrib/kafka/consumer_event.rb +14 -0
  87. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +14 -0
  88. data/lib/ddtrace/contrib/kafka/event.rb +51 -0
  89. data/lib/ddtrace/contrib/kafka/events.rb +44 -0
  90. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +34 -0
  91. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +41 -0
  92. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +39 -0
  93. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +39 -0
  94. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +29 -0
  95. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +29 -0
  96. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +29 -0
  97. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +32 -0
  98. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +35 -0
  99. data/lib/ddtrace/contrib/kafka/ext.rb +41 -0
  100. data/lib/ddtrace/contrib/kafka/integration.rb +39 -0
  101. data/lib/ddtrace/contrib/kafka/patcher.rb +26 -0
  102. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +7 -2
  103. data/lib/ddtrace/contrib/mongodb/ext.rb +5 -2
  104. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +1 -2
  105. data/lib/ddtrace/contrib/mongodb/subscribers.rb +4 -0
  106. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +7 -2
  107. data/lib/ddtrace/contrib/mysql2/ext.rb +5 -2
  108. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +5 -1
  109. data/lib/ddtrace/contrib/patcher.rb +14 -8
  110. data/lib/ddtrace/contrib/presto/configuration/settings.rb +7 -2
  111. data/lib/ddtrace/contrib/presto/ext.rb +5 -2
  112. data/lib/ddtrace/contrib/presto/instrumentation.rb +3 -0
  113. data/lib/ddtrace/contrib/que/configuration/settings.rb +42 -0
  114. data/lib/ddtrace/contrib/que/ext.rb +30 -0
  115. data/lib/ddtrace/contrib/que/integration.rb +42 -0
  116. data/lib/ddtrace/contrib/que/patcher.rb +24 -0
  117. data/lib/ddtrace/contrib/que/tracer.rb +56 -0
  118. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +7 -2
  119. data/lib/ddtrace/contrib/racecar/event.rb +4 -0
  120. data/lib/ddtrace/contrib/racecar/events.rb +2 -0
  121. data/lib/ddtrace/contrib/racecar/events/consume.rb +27 -0
  122. data/lib/ddtrace/contrib/racecar/ext.rb +6 -2
  123. data/lib/ddtrace/contrib/rack/configuration/settings.rb +7 -2
  124. data/lib/ddtrace/contrib/rack/ext.rb +5 -2
  125. data/lib/ddtrace/contrib/rack/middlewares.rb +17 -12
  126. data/lib/ddtrace/contrib/rails/configuration/settings.rb +10 -12
  127. data/lib/ddtrace/contrib/rails/ext.rb +6 -2
  128. data/lib/ddtrace/contrib/rails/framework.rb +14 -21
  129. data/lib/ddtrace/contrib/rails/log_injection.rb +81 -0
  130. data/lib/ddtrace/contrib/rails/middlewares.rb +7 -2
  131. data/lib/ddtrace/contrib/rails/patcher.rb +15 -0
  132. data/lib/ddtrace/contrib/rake/configuration/settings.rb +7 -3
  133. data/lib/ddtrace/contrib/rake/ext.rb +5 -2
  134. data/lib/ddtrace/contrib/redis/configuration/settings.rb +7 -2
  135. data/lib/ddtrace/contrib/redis/ext.rb +5 -2
  136. data/lib/ddtrace/contrib/redis/patcher.rb +1 -1
  137. data/lib/ddtrace/contrib/redis/tags.rb +4 -0
  138. data/lib/ddtrace/contrib/resque/configuration/settings.rb +7 -2
  139. data/lib/ddtrace/contrib/resque/ext.rb +5 -2
  140. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +7 -2
  141. data/lib/ddtrace/contrib/rest_client/ext.rb +5 -2
  142. data/lib/ddtrace/contrib/rest_client/request_patch.rb +6 -2
  143. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +7 -2
  144. data/lib/ddtrace/contrib/sequel/database.rb +4 -2
  145. data/lib/ddtrace/contrib/sequel/dataset.rb +3 -2
  146. data/lib/ddtrace/contrib/sequel/ext.rb +6 -2
  147. data/lib/ddtrace/contrib/sequel/utils.rb +35 -6
  148. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +7 -2
  149. data/lib/ddtrace/contrib/shoryuken/ext.rb +5 -2
  150. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +7 -2
  151. data/lib/ddtrace/contrib/sidekiq/ext.rb +6 -2
  152. data/lib/ddtrace/contrib/sidekiq/patcher.rb +8 -1
  153. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +1 -0
  154. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +7 -2
  155. data/lib/ddtrace/contrib/sinatra/env.rb +5 -4
  156. data/lib/ddtrace/contrib/sinatra/ext.rb +5 -2
  157. data/lib/ddtrace/contrib/sinatra/tracer.rb +21 -42
  158. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +50 -23
  159. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +32 -0
  160. data/lib/ddtrace/contrib/sneakers/ext.rb +22 -0
  161. data/lib/ddtrace/contrib/sneakers/integration.rb +41 -0
  162. data/lib/ddtrace/contrib/sneakers/patcher.rb +24 -0
  163. data/lib/ddtrace/contrib/sneakers/tracer.rb +58 -0
  164. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +7 -2
  165. data/lib/ddtrace/contrib/sucker_punch/ext.rb +5 -2
  166. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +1 -1
  167. data/lib/ddtrace/diagnostics/environment_logger.rb +278 -0
  168. data/lib/ddtrace/environment.rb +17 -3
  169. data/lib/ddtrace/ext/diagnostics.rb +3 -0
  170. data/lib/ddtrace/ext/environment.rb +2 -0
  171. data/lib/ddtrace/ext/integration.rb +8 -0
  172. data/lib/ddtrace/ext/runtime.rb +1 -0
  173. data/lib/ddtrace/ext/transport.rb +1 -0
  174. data/lib/ddtrace/logger.rb +1 -1
  175. data/lib/ddtrace/opentracer/distributed_headers.rb +1 -1
  176. data/lib/ddtrace/pin.rb +25 -2
  177. data/lib/ddtrace/pipeline/span_filter.rb +15 -15
  178. data/lib/ddtrace/propagation/grpc_propagator.rb +2 -2
  179. data/lib/ddtrace/runtime/metrics.rb +24 -6
  180. data/lib/ddtrace/sampler.rb +4 -2
  181. data/lib/ddtrace/span.rb +162 -27
  182. data/lib/ddtrace/tracer.rb +18 -12
  183. data/lib/ddtrace/transport/http.rb +15 -0
  184. data/lib/ddtrace/transport/http/adapters/net.rb +16 -2
  185. data/lib/ddtrace/transport/http/adapters/test.rb +6 -0
  186. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +4 -0
  187. data/lib/ddtrace/transport/http/statistics.rb +14 -1
  188. data/lib/ddtrace/transport/response.rb +11 -0
  189. data/lib/ddtrace/transport/traces.rb +7 -2
  190. data/lib/ddtrace/utils.rb +7 -3
  191. data/lib/ddtrace/version.rb +1 -1
  192. data/lib/ddtrace/workers/async.rb +2 -2
  193. data/lib/ddtrace/workers/loop.rb +1 -1
  194. data/lib/ddtrace/workers/polling.rb +1 -1
  195. data/lib/ddtrace/workers/trace_writer.rb +3 -0
  196. data/lib/ddtrace/writer.rb +33 -12
  197. metadata +138 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d7736a0630cef1812e8e2a69fa420a97913cf9c1c47e1c173e0039c6e12558f0
4
- data.tar.gz: 4eb212df3b7c240a3d8ddf83555fe862cffad98208c037d2cab4120c9a6a7217
3
+ metadata.gz: 0bbda933f09b8f29d20edc57d6825f6491158161b7e5164252deb006931e0e7d
4
+ data.tar.gz: b3aaa6718e835fbfe97db64faa62f82b2f3ff76aefadb53cb27fb9b236b842e3
5
5
  SHA512:
6
- metadata.gz: 8fc864b6eb9180e82c5362f45b3ffe05d4d5e4a845372a158293c8514e9b574d59930f84fdea86f534f50faf9cca15167ad25a2b8985699143d2f3b78578b919
7
- data.tar.gz: e1cd1855fcf6b31579b84c93a2477a47c87d8a9fdbd0361de59be09969825eb5afd0daa79802036d03c04a3b747a7cff214e74b5053d3108b0fd8b86dd97efff
6
+ metadata.gz: 60d239de8c63091ede6a810127ad580629428b96181982cf543e77f45a89087dfdd238b98418fe72f0e27ebefae6d5f730208c5f6149541dfe1d1c6923579826
7
+ data.tar.gz: 1d3657bc28458d0b50d0c2c68d3397b20ef6b2d4c2a0adf2ec834f701fd2c7701bcdac7f6fbce913743482e5eb2492a6409baf7c9c37c3467677ead705fd752e
@@ -54,7 +54,9 @@ step_rubocop: &step_rubocop
54
54
  step_appraisal_install: &step_appraisal_install
55
55
  run:
56
56
  name: Install Appraisal gems
57
- command: bundle exec appraisal install
57
+ command: |
58
+ bundle exec appraisal clean # Ensure we fetch the latest version of dependencies
59
+ bundle exec appraisal install
58
60
  step_compute_bundle_checksum: &step_compute_bundle_checksum
59
61
  run:
60
62
  name: Compute bundle checksum
@@ -160,6 +162,7 @@ orbs:
160
162
  environment:
161
163
  - BUNDLE_GEMFILE: /app/Gemfile
162
164
  - TEST_DATADOG_INTEGRATION: 1
165
+ - COVERAGE_BASE_DIR: coverage
163
166
  - *container_postgres
164
167
  - *container_presto
165
168
  - *container_mysql
@@ -168,6 +171,7 @@ orbs:
168
171
  - *container_mongo
169
172
  - *container_memcached
170
173
  - *container_agent
174
+ parallelism: 22
171
175
  steps:
172
176
  - restore_cache:
173
177
  keys:
@@ -175,7 +179,16 @@ orbs:
175
179
  - restore_cache:
176
180
  keys:
177
181
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
182
+ - run:
183
+ name: Set coverage report directory
184
+ command: |
185
+ # Create a unique coverage directory for this job, to avoid conflicts when merging all results
186
+ echo 'export COVERAGE_DIR="$COVERAGE_BASE_DIR/versions/$CIRCLE_JOB/$CIRCLE_NODE_INDEX"' >> $BASH_ENV
178
187
  - *step_run_all_tests
188
+ - persist_to_workspace:
189
+ root: .
190
+ paths:
191
+ - coverage
179
192
  benchmark:
180
193
  <<: *job_defaults
181
194
  parameters:
@@ -229,6 +242,38 @@ orbs:
229
242
  keys:
230
243
  - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
231
244
  - *step_rubocop
245
+ coverage:
246
+ <<: *job_defaults
247
+ parameters:
248
+ ruby_version:
249
+ description: Ruby version
250
+ type: string
251
+ image:
252
+ description: Docker image location
253
+ type: string
254
+ docker:
255
+ - <<: *container_base
256
+ image: <<parameters.image>>
257
+ environment:
258
+ - BUNDLE_GEMFILE: /app/Gemfile
259
+ steps:
260
+ - restore_cache:
261
+ keys:
262
+ - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundled-repo-<<parameters.ruby_version>>-{{ .Environment.CIRCLE_SHA1 }}'
263
+ - restore_cache:
264
+ keys:
265
+ - '{{ .Environment.CIRCLE_CACHE_VERSION }}-bundle-<<parameters.ruby_version>>-{{ checksum ".circleci/bundle_checksum" }}'
266
+ - attach_workspace:
267
+ at: /tmp/workspace
268
+ - run:
269
+ name: Generate coverage report artifact "coverage/index.html"
270
+ command: COVERAGE_DIR=/tmp/workspace/coverage bundle exec rake coverage:report
271
+ - run:
272
+ name: Generate coverage report artifact "coverage/versions/*/index.html"
273
+ command: COVERAGE_DIR=/tmp/workspace/coverage bundle exec rake coverage:report_per_ruby_version
274
+ - store_artifacts:
275
+ path: /tmp/workspace/coverage/report/
276
+ destination: coverage
232
277
  commands:
233
278
  executors:
234
279
 
@@ -337,6 +382,19 @@ workflows:
337
382
  name: lint
338
383
  requires:
339
384
  - build-2.6
385
+ - orb/coverage:
386
+ <<: *config-2_7
387
+ name: coverage
388
+ requires:
389
+ - test-2.0
390
+ - test-2.1
391
+ - test-2.2
392
+ - test-2.3
393
+ - test-2.4
394
+ - test-2.5
395
+ - test-2.6
396
+ - test-2.7
397
+ - test-jruby-9.2
340
398
  # MRI
341
399
  - orb/checkout:
342
400
  <<: *config-2_0
data/.gitignore CHANGED
@@ -50,6 +50,8 @@ build-iPhoneSimulator/
50
50
 
51
51
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
52
52
  .rvmrc
53
+ # Ignore local variables
54
+ .envrc
53
55
 
54
56
  # lock files
55
57
  Gemfile.lock
@@ -0,0 +1,27 @@
1
+ stages:
2
+ - deploy
3
+
4
+ variables:
5
+ INDEX_FILE: index.txt
6
+
7
+ .common: &common
8
+ tags: [ "runner:main", "size:large" ]
9
+
10
+ copy_to_s3:
11
+ <<: *common
12
+ stage: deploy
13
+ image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
14
+ rules:
15
+ - if: '$CI_COMMIT_BRANCH == "master"'
16
+ when: on_success
17
+ - when: manual
18
+ allow_failure: true
19
+ script:
20
+ - export ACCESS_KEY_ID=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-rb.secret_key_id --with-decryption --query "Parameter.Value" --out text)
21
+ - export SECRET_ACCESS_KEY=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-rb.secret_sec_key_id --with-decryption --query "Parameter.Value" --out text)
22
+ - export AWS_ACCESS_KEY_ID=$ACCESS_KEY_ID
23
+ - export AWS_SECRET_ACCESS_KEY=$SECRET_ACCESS_KEY
24
+ - echo $CI_COMMIT_REF_NAME >> $INDEX_FILE
25
+ - echo $CI_COMMIT_SHA >> $INDEX_FILE
26
+ - echo $GITLAB_USER_NAME >> $INDEX_FILE
27
+ - aws s3 cp $INDEX_FILE s3://datadog-reliability-env/ruby/$INDEX_FILE
@@ -0,0 +1,38 @@
1
+ SimpleCov.add_group 'contrib', '/lib/ddtrace/contrib'
2
+ SimpleCov.add_group 'transport', '/lib/ddtrace/transport'
3
+ SimpleCov.add_group 'spec', '/spec/'
4
+
5
+ SimpleCov.coverage_dir ENV.fetch('COVERAGE_DIR', 'coverage')
6
+
7
+ # Each test run requires its own unique command_name.
8
+ # When running `rake spec:test_name`, the test process doesn't have access to the
9
+ # rake task process, so we have come up with unique values ourselves.
10
+ #
11
+ # The current approach is to combine the ruby engine (ruby-2.7,jruby-9.2),
12
+ # program name (rspec/test), command line arguments (--pattern spec/**/*_spec.rb),
13
+ # and the loaded gemset.
14
+ #
15
+ # This should allow us to distinguish between runs with the same tests, but different gemsets:
16
+ # * appraisal rails5-mysql2 rake spec:rails
17
+ # * appraisal rails5-postgres rake spec:rails
18
+ #
19
+ # Subsequent runs of the same exact test suite should have the same command_name.
20
+ command_line_arguments = ARGV.join(' ')
21
+ gemset_hash = Digest::MD5.hexdigest Gem.loaded_specs.values.map { |x| "#{x.name}#{x.version}" }.sort.join
22
+ ruby_engine = if defined?(RUBY_ENGINE_VERSION)
23
+ "#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}"
24
+ else
25
+ "#{RUBY_ENGINE}-#{RUBY_VERSION}" # For Ruby < 2.3
26
+ end
27
+ SimpleCov.command_name "#{ruby_engine}:#{gemset_hash}:#{$PROGRAM_NAME} #{command_line_arguments}"
28
+
29
+ # A very large number to disable result merging timeout
30
+ SimpleCov.merge_timeout 2 ** 31
31
+
32
+ # DEV If we choose to enforce a hard minimum.
33
+ # SimpleCov.minimum_coverage 95
34
+
35
+ # DEV If we choose to enforce a maximum coverage drop.
36
+ # DEV We have to figure out where to store previous coverage data
37
+ # DEV in order to perform this comparison
38
+ # SimpleCov.maximum_coverage_drop 1
data/Appraisals CHANGED
@@ -13,6 +13,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
13
13
  gem 'pg', '0.15.1', platform: :ruby
14
14
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
15
15
  gem 'rack-cache', '1.7.1'
16
+ gem 'lograge', '< 0.4'
16
17
  end
17
18
 
18
19
  appraise 'rails30-postgres-sidekiq' do
@@ -22,6 +23,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
22
23
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
23
24
  gem 'sidekiq', '4.0.0'
24
25
  gem 'rack-cache', '1.7.1'
26
+ gem 'lograge', '< 0.4'
25
27
  end
26
28
 
27
29
  appraise 'rails32-mysql2' do
@@ -31,6 +33,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
31
33
  gem 'activerecord-mysql-adapter', platform: :ruby
32
34
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
33
35
  gem 'rack-cache', '1.7.1'
36
+ gem 'lograge', '< 0.4'
34
37
  end
35
38
 
36
39
  appraise 'rails32-postgres' do
@@ -39,6 +42,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
39
42
  gem 'pg', '0.15.1', platform: :ruby
40
43
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
41
44
  gem 'rack-cache', '1.7.1'
45
+ gem 'lograge', '< 0.4'
42
46
  end
43
47
 
44
48
  appraise 'rails32-postgres-redis' do
@@ -49,6 +53,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
49
53
  gem 'redis-rails'
50
54
  gem 'redis', '< 4.0'
51
55
  gem 'rack-cache', '1.7.1'
56
+ gem 'lograge', '< 0.4'
52
57
  end
53
58
 
54
59
  appraise 'rails32-postgres-sidekiq' do
@@ -58,6 +63,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
58
63
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
59
64
  gem 'sidekiq', '4.0.0'
60
65
  gem 'rack-cache', '1.7.1'
66
+ gem 'lograge', '< 0.4'
61
67
  end
62
68
 
63
69
  appraise 'contrib-old' do
@@ -73,8 +79,10 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
73
79
  gem 'ethon'
74
80
  gem 'excon'
75
81
  gem 'hiredis'
82
+ gem 'http'
76
83
  gem 'mongo', '< 2.5'
77
84
  gem 'mysql2', '0.3.21', platform: :ruby
85
+ gem 'pg', '< 1.0', platform: :ruby
78
86
  gem 'rack', '1.4.7'
79
87
  gem 'rack-cache', '1.7.1'
80
88
  gem 'rack-test', '0.7.0'
@@ -100,6 +108,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
100
108
  gem 'pg', '0.15.1', platform: :ruby
101
109
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
102
110
  gem 'rack-cache', '1.7.1'
111
+ gem 'lograge', '< 0.4'
103
112
  end
104
113
 
105
114
  appraise 'rails30-postgres-sidekiq' do
@@ -109,6 +118,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
109
118
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
110
119
  gem 'sidekiq', '4.0.0'
111
120
  gem 'rack-cache', '1.7.1'
121
+ gem 'lograge', '< 0.4'
112
122
  end
113
123
 
114
124
  appraise 'rails32-mysql2' do
@@ -118,6 +128,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
118
128
  gem 'activerecord-mysql-adapter', platform: :ruby
119
129
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
120
130
  gem 'rack-cache', '1.7.1'
131
+ gem 'lograge', '< 0.4'
121
132
  end
122
133
 
123
134
  appraise 'rails32-postgres' do
@@ -126,6 +137,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
126
137
  gem 'pg', '0.15.1', platform: :ruby
127
138
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
128
139
  gem 'rack-cache', '1.7.1'
140
+ gem 'lograge', '< 0.4'
129
141
  end
130
142
 
131
143
  appraise 'rails32-postgres-redis' do
@@ -136,6 +148,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
136
148
  gem 'redis-rails'
137
149
  gem 'redis', '< 4.0'
138
150
  gem 'rack-cache', '1.7.1'
151
+ gem 'lograge', '< 0.4'
139
152
  end
140
153
 
141
154
  appraise 'rails32-postgres-sidekiq' do
@@ -145,6 +158,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
145
158
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
146
159
  gem 'sidekiq', '4.0.0'
147
160
  gem 'rack-cache', '1.7.1'
161
+ gem 'lograge', '< 0.4'
148
162
  end
149
163
 
150
164
  appraise 'rails4-mysql2' do
@@ -152,6 +166,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
152
166
  gem 'mysql2', '< 1', platform: :ruby
153
167
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
154
168
  gem 'sprockets', '< 4'
169
+ gem 'lograge'
155
170
  end
156
171
 
157
172
  appraise 'rails4-postgres' do
@@ -159,6 +174,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
159
174
  gem 'pg', '< 1.0', platform: :ruby
160
175
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
161
176
  gem 'sprockets', '< 4'
177
+ gem 'lograge'
162
178
  end
163
179
 
164
180
  appraise 'rails4-postgres-redis' do
@@ -168,6 +184,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
168
184
  gem 'redis-rails'
169
185
  gem 'redis', '< 4.0'
170
186
  gem 'sprockets', '< 4'
187
+ gem 'lograge'
171
188
  end
172
189
 
173
190
  appraise 'contrib-old' do
@@ -180,12 +197,14 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
180
197
  gem 'delayed_job'
181
198
  gem 'delayed_job_active_record'
182
199
  gem 'elasticsearch-transport'
183
- gem 'presto-client', '>= 0.5.14'
200
+ gem 'presto-client', '>= 0.5.14'
184
201
  gem 'ethon'
185
202
  gem 'excon'
186
203
  gem 'hiredis'
204
+ gem 'http'
187
205
  gem 'mongo', '< 2.5'
188
206
  gem 'mysql2', '0.3.21', platform: :ruby
207
+ gem 'pg', '< 1.0', platform: :ruby
189
208
  gem 'rack', '1.4.7'
190
209
  gem 'rack-cache', '1.7.1'
191
210
  gem 'rack-test', '0.7.0'
@@ -193,6 +212,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
193
212
  gem 'redis', '< 4.0'
194
213
  gem 'rest-client'
195
214
  gem 'resque', '< 2.0'
215
+ gem 'ruby-kafka', '>= 0.7.10'
196
216
  gem 'sequel', '~> 4.0', '< 4.37'
197
217
  gem 'shoryuken'
198
218
  gem 'sidekiq', '~> 3.5.4'
@@ -212,6 +232,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
212
232
  gem 'pg', '0.15.1', platform: :ruby
213
233
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
214
234
  gem 'rack-cache', '1.7.1'
235
+ gem 'lograge', '< 0.4'
215
236
  end
216
237
 
217
238
  appraise 'rails30-postgres-sidekiq' do
@@ -221,6 +242,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
221
242
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
222
243
  gem 'sidekiq', '4.0.0'
223
244
  gem 'rack-cache', '1.7.1'
245
+ gem 'lograge', '< 0.4'
224
246
  end
225
247
 
226
248
  appraise 'rails32-mysql2' do
@@ -230,6 +252,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
230
252
  gem 'activerecord-mysql-adapter', platform: :ruby
231
253
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
232
254
  gem 'rack-cache', '1.7.1'
255
+ gem 'lograge', '< 0.4'
233
256
  end
234
257
 
235
258
  appraise 'rails32-postgres' do
@@ -238,6 +261,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
238
261
  gem 'pg', '0.15.1', platform: :ruby
239
262
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
240
263
  gem 'rack-cache', '1.7.1'
264
+ gem 'lograge', '< 0.4'
241
265
  end
242
266
 
243
267
  appraise 'rails32-postgres-redis' do
@@ -248,6 +272,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
248
272
  gem 'redis-rails'
249
273
  gem 'redis', '< 4.0'
250
274
  gem 'rack-cache', '1.7.1'
275
+ gem 'lograge', '< 0.4'
251
276
  end
252
277
 
253
278
  appraise 'rails32-postgres-sidekiq' do
@@ -257,6 +282,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
257
282
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
258
283
  gem 'sidekiq', '4.0.0'
259
284
  gem 'rack-cache', '1.7.1'
285
+ gem 'lograge', '< 0.4'
260
286
  end
261
287
 
262
288
  appraise 'rails4-mysql2' do
@@ -264,6 +290,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
264
290
  gem 'mysql2', '< 1', platform: :ruby
265
291
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
266
292
  gem 'sprockets', '< 4'
293
+ gem 'lograge'
267
294
  end
268
295
 
269
296
  appraise 'rails4-postgres' do
@@ -271,6 +298,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
271
298
  gem 'pg', '< 1.0', platform: :ruby
272
299
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
273
300
  gem 'sprockets', '< 4'
301
+ gem 'lograge'
274
302
  end
275
303
 
276
304
  appraise 'rails4-postgres-redis' do
@@ -280,6 +308,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
280
308
  gem 'redis-rails'
281
309
  gem 'redis', '< 4.0'
282
310
  gem 'sprockets', '< 4'
311
+ gem 'lograge'
283
312
  end
284
313
 
285
314
  appraise 'rails4-postgres-sidekiq' do
@@ -289,18 +318,21 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
289
318
  gem 'sidekiq'
290
319
  gem 'activejob'
291
320
  gem 'sprockets', '< 4'
321
+ gem 'lograge'
292
322
  end
293
323
 
294
324
  appraise 'rails5-mysql2' do
295
325
  gem 'rails', '5.2.3'
296
326
  gem 'mysql2', '< 1', platform: :ruby
297
327
  gem 'sprockets', '< 4'
328
+ gem 'lograge'
298
329
  end
299
330
 
300
331
  appraise 'rails5-postgres' do
301
332
  gem 'rails', '5.2.3'
302
333
  gem 'pg', '< 1.0', platform: :ruby
303
334
  gem 'sprockets', '< 4'
335
+ gem 'lograge'
304
336
  end
305
337
 
306
338
  appraise 'rails5-postgres-redis' do
@@ -308,6 +340,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
308
340
  gem 'pg', '< 1.0', platform: :ruby
309
341
  gem 'redis', '>= 4.0.1'
310
342
  gem 'sprockets', '< 4'
343
+ gem 'lograge'
311
344
  end
312
345
 
313
346
  appraise 'rails5-postgres-redis-activesupport' do
@@ -315,6 +348,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
315
348
  gem 'pg', '< 1.0', platform: :ruby
316
349
  gem 'redis', '>= 4.0.1'
317
350
  gem 'sprockets', '< 4'
351
+ gem 'lograge'
318
352
  end
319
353
 
320
354
  appraise 'rails5-postgres-sidekiq' do
@@ -323,6 +357,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
323
357
  gem 'sidekiq'
324
358
  gem 'activejob'
325
359
  gem 'sprockets', '< 4'
360
+ gem 'lograge'
326
361
  end
327
362
 
328
363
  appraise 'contrib' do
@@ -336,6 +371,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
336
371
  gem 'delayed_job'
337
372
  gem 'delayed_job_active_record'
338
373
  gem 'elasticsearch-transport'
374
+ gem 'pg', platform: :ruby
339
375
  gem 'presto-client', '>= 0.5.14'
340
376
  gem 'ethon'
341
377
  gem 'excon'
@@ -344,6 +380,7 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
344
380
  gem 'graphql', '< 1.9.4'
345
381
  gem 'grpc', '~> 1.21.0' # Last version to support Ruby < 2.3
346
382
  gem 'hiredis'
383
+ gem 'http'
347
384
  gem 'mongo', '>= 2.8.0'
348
385
  gem 'mysql2', '< 0.5', platform: :ruby
349
386
  gem 'racecar', '>= 0.3.5'
@@ -353,13 +390,16 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
353
390
  gem 'redis', '< 4.0'
354
391
  gem 'rest-client'
355
392
  gem 'resque', '< 2.0'
393
+ gem 'ruby-kafka', '>= 0.7.10'
356
394
  gem 'sequel'
357
395
  gem 'shoryuken'
358
396
  gem 'sidekiq'
359
397
  gem 'sinatra'
398
+ gem 'sneakers', '>= 2.12.0'
360
399
  gem 'sqlite3', '~> 1.3.6'
361
400
  gem 'sucker_punch'
362
401
  gem 'typhoeus'
402
+ gem 'que', '>= 1.0.0.beta2'
363
403
  end
364
404
  end
365
405
  elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
@@ -371,6 +411,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
371
411
  gem 'pg', '0.15.1', platform: :ruby
372
412
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
373
413
  gem 'rack-cache', '1.7.1'
414
+ gem 'lograge', '< 0.4'
374
415
  end
375
416
 
376
417
  appraise 'rails30-postgres-sidekiq' do
@@ -380,6 +421,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
380
421
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
381
422
  gem 'sidekiq', '4.0.0'
382
423
  gem 'rack-cache', '1.7.1'
424
+ gem 'lograge', '< 0.4'
383
425
  end
384
426
 
385
427
  appraise 'rails32-mysql2' do
@@ -389,6 +431,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
389
431
  gem 'activerecord-mysql-adapter', platform: :ruby
390
432
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
391
433
  gem 'rack-cache', '1.7.1'
434
+ gem 'lograge', '< 0.4'
392
435
  end
393
436
 
394
437
  appraise 'rails32-postgres' do
@@ -397,6 +440,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
397
440
  gem 'pg', '0.15.1', platform: :ruby
398
441
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
399
442
  gem 'rack-cache', '1.7.1'
443
+ gem 'lograge', '< 0.4'
400
444
  end
401
445
 
402
446
  appraise 'rails32-postgres-redis' do
@@ -407,6 +451,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
407
451
  gem 'redis-rails'
408
452
  gem 'redis', '< 4.0'
409
453
  gem 'rack-cache', '1.7.1'
454
+ gem 'lograge', '< 0.4'
410
455
  end
411
456
 
412
457
  appraise 'rails32-postgres-sidekiq' do
@@ -416,6 +461,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
416
461
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
417
462
  gem 'sidekiq', '4.0.0'
418
463
  gem 'rack-cache', '1.7.1'
464
+ gem 'lograge', '< 0.4'
419
465
  end
420
466
 
421
467
  appraise 'rails4-mysql2' do
@@ -423,6 +469,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
423
469
  gem 'mysql2', '< 1', platform: :ruby
424
470
  gem 'activerecord-jdbcmysql-adapter', platform: :jruby
425
471
  gem 'sprockets', '< 4'
472
+ gem 'lograge'
426
473
  end
427
474
 
428
475
  appraise 'rails4-postgres' do
@@ -430,6 +477,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
430
477
  gem 'pg', '< 1.0', platform: :ruby
431
478
  gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
432
479
  gem 'sprockets', '< 4'
480
+ gem 'lograge'
433
481
  end
434
482
 
435
483
  appraise 'rails4-postgres-redis' do
@@ -439,6 +487,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
439
487
  gem 'redis-rails'
440
488
  gem 'redis', '< 4.0'
441
489
  gem 'sprockets', '< 4'
490
+ gem 'lograge'
442
491
  end
443
492
 
444
493
  appraise 'rails4-postgres-sidekiq' do
@@ -448,18 +497,21 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
448
497
  gem 'sidekiq'
449
498
  gem 'activejob'
450
499
  gem 'sprockets', '< 4'
500
+ gem 'lograge'
451
501
  end
452
502
 
453
503
  appraise 'rails5-mysql2' do
454
504
  gem 'rails', '~> 5.2.1'
455
505
  gem 'mysql2', '< 1', platform: :ruby
456
506
  gem 'sprockets', '< 4'
507
+ gem 'lograge'
457
508
  end
458
509
 
459
510
  appraise 'rails5-postgres' do
460
511
  gem 'rails', '~> 5.2.1'
461
512
  gem 'pg', '< 1.0', platform: :ruby
462
513
  gem 'sprockets', '< 4'
514
+ gem 'lograge'
463
515
  end
464
516
 
465
517
  appraise 'rails5-postgres-redis' do
@@ -467,6 +519,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
467
519
  gem 'pg', '< 1.0', platform: :ruby
468
520
  gem 'redis', '>= 4.0.1'
469
521
  gem 'sprockets', '< 4'
522
+ gem 'lograge'
470
523
  end
471
524
 
472
525
  appraise 'rails5-postgres-redis-activesupport' do
@@ -474,6 +527,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
474
527
  gem 'pg', '< 1.0', platform: :ruby
475
528
  gem 'redis', '>= 4.0.1'
476
529
  gem 'sprockets', '< 4'
530
+ gem 'lograge'
477
531
  end
478
532
 
479
533
  appraise 'rails5-postgres-sidekiq' do
@@ -482,6 +536,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
482
536
  gem 'sidekiq'
483
537
  gem 'activejob'
484
538
  gem 'sprockets', '< 4'
539
+ gem 'lograge'
485
540
  end
486
541
 
487
542
  appraise 'contrib' do
@@ -503,8 +558,10 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
503
558
  gem 'grpc'
504
559
  gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
505
560
  gem 'hiredis'
561
+ gem 'http'
506
562
  gem 'mongo', '>= 2.8.0'
507
563
  gem 'mysql2', '< 0.5', platform: :ruby
564
+ gem 'pg', platform: :ruby
508
565
  gem 'presto-client', '>= 0.5.14'
509
566
  gem 'racecar', '>= 0.3.5'
510
567
  gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
@@ -513,13 +570,16 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
513
570
  gem 'redis', '< 4.0'
514
571
  gem 'rest-client'
515
572
  gem 'resque', '< 2.0'
573
+ gem 'ruby-kafka', '>= 0.7.10'
516
574
  gem 'sequel'
517
575
  gem 'shoryuken'
518
576
  gem 'sidekiq'
519
577
  gem 'sinatra'
578
+ gem 'sneakers', '>= 2.12.0'
520
579
  gem 'sqlite3', '~> 1.3.6'
521
580
  gem 'sucker_punch'
522
581
  gem 'typhoeus'
582
+ gem 'que', '>= 1.0.0.beta2'
523
583
  end
524
584
 
525
585
  appraise 'contrib-old' do
@@ -533,12 +593,14 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
533
593
  gem 'rails', '~> 5.2.1'
534
594
  gem 'mysql2', '< 1', platform: :ruby
535
595
  gem 'sprockets', '< 4'
596
+ gem 'lograge'
536
597
  end
537
598
 
538
599
  appraise 'rails5-postgres' do
539
600
  gem 'rails', '~> 5.2.1'
540
601
  gem 'pg', '< 1.0', platform: :ruby
541
602
  gem 'sprockets', '< 4'
603
+ gem 'lograge'
542
604
  end
543
605
 
544
606
  appraise 'rails5-postgres-redis' do
@@ -546,6 +608,7 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
546
608
  gem 'pg', '< 1.0', platform: :ruby
547
609
  gem 'redis', '>= 4.0.1'
548
610
  gem 'sprockets', '< 4'
611
+ gem 'lograge'
549
612
  end
550
613
 
551
614
  appraise 'rails5-postgres-redis-activesupport' do
@@ -553,6 +616,7 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
553
616
  gem 'pg', '< 1.0', platform: :ruby
554
617
  gem 'redis', '>= 4.0.1'
555
618
  gem 'sprockets', '< 4'
619
+ gem 'lograge'
556
620
  end
557
621
 
558
622
  appraise 'rails5-postgres-sidekiq' do
@@ -561,6 +625,7 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
561
625
  gem 'sidekiq'
562
626
  gem 'activejob'
563
627
  gem 'sprockets', '< 4'
628
+ gem 'lograge'
564
629
  end
565
630
 
566
631
  appraise 'contrib' do
@@ -582,8 +647,10 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
582
647
  gem 'grpc'
583
648
  gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
584
649
  gem 'hiredis'
650
+ gem 'http'
585
651
  gem 'mongo', '>= 2.8.0'
586
652
  gem 'mysql2', '< 0.5', platform: :ruby
653
+ gem 'pg', platform: :ruby
587
654
  gem 'presto-client', '>= 0.5.14'
588
655
  gem 'racecar', '>= 0.3.5'
589
656
  gem 'rack'
@@ -592,13 +659,16 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
592
659
  gem 'redis', '< 4.0'
593
660
  gem 'rest-client'
594
661
  gem 'resque', '< 2.0'
662
+ gem 'ruby-kafka', '>= 0.7.10'
595
663
  gem 'sequel'
596
664
  gem 'shoryuken'
597
665
  gem 'sidekiq'
598
666
  gem 'sinatra'
667
+ gem 'sneakers', '>= 2.12.0'
599
668
  gem 'sqlite3', '~> 1.3.6'
600
669
  gem 'sucker_punch'
601
670
  gem 'typhoeus'
671
+ gem 'que', '>= 1.0.0.beta2'
602
672
  end
603
673
 
604
674
  appraise 'contrib-old' do
@@ -607,73 +677,92 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
607
677
  end
608
678
  elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
609
679
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
610
- if RUBY_PLATFORM != 'java'
611
680
  appraise 'rails5-mysql2' do
612
681
  gem 'rails', '~> 5.2.1'
613
682
  gem 'mysql2', '< 1', platform: :ruby
683
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
614
684
  gem 'sprockets', '< 4'
685
+ gem 'lograge'
615
686
  end
616
687
 
617
688
  appraise 'rails5-postgres' do
618
689
  gem 'rails', '~> 5.2.1'
619
690
  gem 'pg', '< 1.0', platform: :ruby
691
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
620
692
  gem 'sprockets', '< 4'
693
+ gem 'lograge'
621
694
  end
622
695
 
623
696
  appraise 'rails5-postgres-redis' do
624
697
  gem 'rails', '~> 5.2.1'
625
698
  gem 'pg', '< 1.0', platform: :ruby
699
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
626
700
  gem 'redis', '>= 4.0.1'
627
701
  gem 'sprockets', '< 4'
702
+ gem 'lograge'
628
703
  end
629
704
 
630
705
  appraise 'rails5-postgres-redis-activesupport' do
631
706
  gem 'rails', '~> 5.2.1'
632
707
  gem 'pg', '< 1.0', platform: :ruby
708
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
633
709
  gem 'redis', '>= 4.0.1'
634
710
  gem 'sprockets', '< 4'
711
+ gem 'lograge'
635
712
  end
636
713
 
637
714
  appraise 'rails5-postgres-sidekiq' do
638
715
  gem 'rails', '~> 5.2.1'
639
716
  gem 'pg', '< 1.0', platform: :ruby
717
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
640
718
  gem 'sidekiq'
641
719
  gem 'activejob'
642
720
  gem 'sprockets', '< 4'
721
+ gem 'lograge'
643
722
  end
644
723
 
645
724
  appraise 'rails6-mysql2' do
646
725
  gem 'rails', '~> 6.0.0'
647
726
  gem 'mysql2', '< 1', platform: :ruby
727
+ gem 'activerecord-jdbcmysql-adapter', '>= 60', platform: :jruby # try remove >= 60
648
728
  gem 'sprockets', '< 4'
729
+ gem 'lograge'
649
730
  end
650
731
 
651
732
  appraise 'rails6-postgres' do
652
733
  gem 'rails', '~> 6.0.0'
653
734
  gem 'pg', '< 1.0', platform: :ruby
735
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
654
736
  gem 'sprockets', '< 4'
737
+ gem 'lograge'
655
738
  end
656
739
 
657
740
  appraise 'rails6-postgres-redis' do
658
741
  gem 'rails', '~> 6.0.0'
659
742
  gem 'pg', '< 1.0', platform: :ruby
743
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
660
744
  gem 'redis', '>= 4.0.1'
661
745
  gem 'sprockets', '< 4'
746
+ gem 'lograge'
662
747
  end
663
748
 
664
749
  appraise 'rails6-postgres-redis-activesupport' do
665
750
  gem 'rails', '~> 6.0.0'
666
751
  gem 'pg', '< 1.0', platform: :ruby
752
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
667
753
  gem 'redis', '>= 4.0.1'
668
754
  gem 'sprockets', '< 4'
755
+ gem 'lograge'
669
756
  end
670
757
 
671
758
  appraise 'rails6-postgres-sidekiq' do
672
759
  gem 'rails', '~> 6.0.0'
673
760
  gem 'pg', '< 1.0', platform: :ruby
761
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
674
762
  gem 'sidekiq'
675
763
  gem 'activejob'
676
764
  gem 'sprockets', '< 4'
765
+ gem 'lograge'
677
766
  end
678
767
 
679
768
  appraise 'contrib' do
@@ -692,11 +781,15 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
692
781
  gem 'faraday'
693
782
  gem 'grape'
694
783
  gem 'graphql'
695
- gem 'grpc'
784
+ gem 'grpc', platform: :ruby
696
785
  gem 'hiredis'
786
+ gem 'http'
697
787
  gem 'mongo', '>= 2.8.0'
698
788
  gem 'mysql2', '< 0.5', platform: :ruby
699
- gem 'presto-client', '>= 0.5.14'
789
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
790
+ gem 'pg', platform: :ruby
791
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
792
+ gem 'presto-client', '>= 0.5.14'
700
793
  gem 'racecar', '>= 0.3.5'
701
794
  gem 'rack'
702
795
  gem 'rack-test'
@@ -704,19 +797,21 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
704
797
  gem 'redis', '< 4.0'
705
798
  gem 'rest-client'
706
799
  gem 'resque', '< 2.0'
800
+ gem 'ruby-kafka', '>= 0.7.10'
707
801
  gem 'sequel'
708
802
  gem 'shoryuken'
709
803
  gem 'sidekiq'
710
804
  gem 'sinatra'
711
- gem 'sqlite3', '~> 1.4.1'
805
+ gem 'sneakers', '>= 2.12.0'
806
+ gem 'sqlite3', '~> 1.4.1', platform: :ruby
712
807
  gem 'sucker_punch'
713
808
  gem 'typhoeus'
809
+ gem 'que', '>= 1.0.0.beta2'
714
810
  end
715
811
 
716
812
  appraise 'contrib-old' do
717
813
  gem 'faraday', '0.17'
718
814
  end
719
- end
720
815
  elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
721
816
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
722
817
  if RUBY_PLATFORM != 'java'
@@ -724,12 +819,14 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
724
819
  gem 'rails', '~> 5.2.1'
725
820
  gem 'mysql2', '< 1', platform: :ruby
726
821
  gem 'sprockets', '< 4'
822
+ gem 'lograge'
727
823
  end
728
824
 
729
825
  appraise 'rails5-postgres' do
730
826
  gem 'rails', '~> 5.2.1'
731
827
  gem 'pg', '< 1.0', platform: :ruby
732
828
  gem 'sprockets', '< 4'
829
+ gem 'lograge'
733
830
  end
734
831
 
735
832
  appraise 'rails5-postgres-redis' do
@@ -737,6 +834,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
737
834
  gem 'pg', '< 1.0', platform: :ruby
738
835
  gem 'redis', '>= 4.0.1'
739
836
  gem 'sprockets', '< 4'
837
+ gem 'lograge'
740
838
  end
741
839
 
742
840
  appraise 'rails5-postgres-redis-activesupport' do
@@ -744,6 +842,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
744
842
  gem 'pg', '< 1.0', platform: :ruby
745
843
  gem 'redis', '>= 4.0.1'
746
844
  gem 'sprockets', '< 4'
845
+ gem 'lograge'
747
846
  end
748
847
 
749
848
  appraise 'rails5-postgres-sidekiq' do
@@ -752,18 +851,21 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
752
851
  gem 'sidekiq'
753
852
  gem 'activejob'
754
853
  gem 'sprockets', '< 4'
854
+ gem 'lograge'
755
855
  end
756
856
 
757
857
  appraise 'rails6-mysql2' do
758
858
  gem 'rails', '~> 6.0.0'
759
859
  gem 'mysql2', '< 1', platform: :ruby
760
860
  gem 'sprockets', '< 4'
861
+ gem 'lograge'
761
862
  end
762
863
 
763
864
  appraise 'rails6-postgres' do
764
865
  gem 'rails', '~> 6.0.0'
765
866
  gem 'pg', '< 1.0', platform: :ruby
766
867
  gem 'sprockets', '< 4'
868
+ gem 'lograge'
767
869
  end
768
870
 
769
871
  appraise 'rails6-postgres-redis' do
@@ -771,6 +873,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
771
873
  gem 'pg', '< 1.0', platform: :ruby
772
874
  gem 'redis', '>= 4.0.1'
773
875
  gem 'sprockets', '< 4'
876
+ gem 'lograge'
774
877
  end
775
878
 
776
879
  appraise 'rails6-postgres-redis-activesupport' do
@@ -778,6 +881,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
778
881
  gem 'pg', '< 1.0', platform: :ruby
779
882
  gem 'redis', '>= 4.0.1'
780
883
  gem 'sprockets', '< 4'
884
+ gem 'lograge'
781
885
  end
782
886
 
783
887
  appraise 'rails6-postgres-sidekiq' do
@@ -786,6 +890,7 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
786
890
  gem 'sidekiq'
787
891
  gem 'activejob'
788
892
  gem 'sprockets', '< 4'
893
+ gem 'lograge'
789
894
  end
790
895
 
791
896
  appraise 'contrib' do
@@ -806,8 +911,10 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
806
911
  gem 'graphql'
807
912
  gem 'grpc'
808
913
  gem 'hiredis'
914
+ gem 'http'
809
915
  gem 'mongo', '>= 2.8.0'
810
916
  gem 'mysql2', '< 0.5', platform: :ruby
917
+ gem 'pg', platform: :ruby
811
918
  gem 'presto-client', '>= 0.5.14'
812
919
  gem 'racecar', '>= 0.3.5'
813
920
  gem 'rack'
@@ -816,13 +923,16 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
816
923
  gem 'redis', '< 4.0'
817
924
  gem 'rest-client'
818
925
  gem 'resque', '< 2.0'
926
+ gem 'ruby-kafka', '>= 0.7.10'
819
927
  gem 'sequel'
820
928
  gem 'shoryuken'
821
929
  gem 'sidekiq'
822
930
  gem 'sinatra'
931
+ gem 'sneakers', '>= 2.12.0'
823
932
  gem 'sqlite3', '~> 1.4.1'
824
933
  gem 'sucker_punch'
825
934
  gem 'typhoeus'
935
+ gem 'que', '>= 1.0.0.beta2'
826
936
  end
827
937
 
828
938
  appraise 'contrib-old' do
@@ -835,12 +945,14 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
835
945
  gem 'rails', '~> 5.2.1'
836
946
  gem 'mysql2', '< 0.5', platform: :ruby
837
947
  gem 'sprockets', '< 4'
948
+ gem 'lograge'
838
949
  end
839
950
 
840
951
  appraise 'rails5-postgres' do
841
952
  gem 'rails', '~> 5.2.1'
842
953
  gem 'pg', '< 1.0', platform: :ruby
843
954
  gem 'sprockets', '< 4'
955
+ gem 'lograge'
844
956
  end
845
957
 
846
958
  appraise 'rails5-postgres-redis' do
@@ -849,6 +961,7 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
849
961
  gem 'redis-rails'
850
962
  gem 'redis'
851
963
  gem 'sprockets', '< 4'
964
+ gem 'lograge'
852
965
  end
853
966
 
854
967
  appraise 'rails5-postgres-redis-activesupport' do
@@ -857,6 +970,7 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
857
970
  gem 'redis-rails'
858
971
  gem 'redis'
859
972
  gem 'sprockets', '< 4'
973
+ gem 'lograge'
860
974
  end
861
975
 
862
976
  appraise 'rails5-postgres-sidekiq' do
@@ -865,18 +979,21 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
865
979
  gem 'sidekiq'
866
980
  gem 'activejob'
867
981
  gem 'sprockets', '< 4'
982
+ gem 'lograge'
868
983
  end
869
984
 
870
985
  appraise 'rails6-mysql2' do
871
986
  gem 'rails', '~> 6.0.0'
872
987
  gem 'mysql2', '< 0.6', platform: :ruby
873
988
  gem 'sprockets', '< 4'
989
+ gem 'lograge'
874
990
  end
875
991
 
876
992
  appraise 'rails6-postgres' do
877
993
  gem 'rails', '~> 6.0.0'
878
994
  gem 'pg', '< 1.0', platform: :ruby
879
995
  gem 'sprockets', '< 4'
996
+ gem 'lograge'
880
997
  end
881
998
 
882
999
  appraise 'rails6-postgres-redis' do
@@ -885,6 +1002,7 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
885
1002
  gem 'redis-rails'
886
1003
  gem 'redis'
887
1004
  gem 'sprockets', '< 4'
1005
+ gem 'lograge'
888
1006
  end
889
1007
 
890
1008
  appraise 'rails6-postgres-redis-activesupport' do
@@ -893,6 +1011,7 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
893
1011
  gem 'redis-rails'
894
1012
  gem 'redis'
895
1013
  gem 'sprockets', '< 4'
1014
+ gem 'lograge'
896
1015
  end
897
1016
 
898
1017
  appraise 'rails6-postgres-sidekiq' do
@@ -901,6 +1020,7 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
901
1020
  gem 'sidekiq'
902
1021
  gem 'activejob'
903
1022
  gem 'sprockets', '< 4'
1023
+ gem 'lograge'
904
1024
  end
905
1025
 
906
1026
  appraise 'contrib' do
@@ -920,8 +1040,10 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
920
1040
  gem 'graphql'
921
1041
  gem 'grpc'
922
1042
  gem 'hiredis'
1043
+ gem 'http'
923
1044
  gem 'mongo', '>= 2.8.0'
924
1045
  gem 'mysql2', '< 0.5', platform: :ruby
1046
+ gem 'pg', platform: :ruby
925
1047
  gem 'presto-client', '>= 0.5.14'
926
1048
  gem 'racecar', '>= 0.3.5'
927
1049
  gem 'rack'
@@ -930,13 +1052,16 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
930
1052
  gem 'redis', '< 4.0'
931
1053
  gem 'rest-client'
932
1054
  gem 'resque', '< 2.0'
1055
+ gem 'ruby-kafka', '>= 0.7.10'
933
1056
  gem 'sequel'
934
1057
  gem 'shoryuken'
935
1058
  gem 'sidekiq'
936
1059
  gem 'sinatra'
1060
+ gem 'sneakers', '>= 2.12.0'
937
1061
  gem 'sqlite3', '~> 1.4.1'
938
1062
  gem 'sucker_punch'
939
1063
  gem 'typhoeus'
1064
+ gem 'que', '>= 1.0.0.beta2'
940
1065
  end
941
1066
 
942
1067
  appraise 'contrib-old' do