appsignal 2.9.2.alpha.1 → 2.9.18.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +31 -0
  3. data/.github/ISSUE_TEMPLATE/chore.md +14 -0
  4. data/.gitignore +1 -2
  5. data/.rubocop.yml +3 -0
  6. data/.travis.yml +25 -27
  7. data/CHANGELOG.md +632 -535
  8. data/README.md +8 -3
  9. data/Rakefile +118 -122
  10. data/SUPPORT.md +16 -0
  11. data/appsignal.gemspec +14 -4
  12. data/build_matrix.yml +16 -8
  13. data/ext/Rakefile +2 -3
  14. data/ext/agent.yml +40 -37
  15. data/ext/base.rb +37 -14
  16. data/ext/extconf.rb +3 -4
  17. data/gemfiles/capistrano2.gemfile +5 -0
  18. data/gemfiles/capistrano3.gemfile +5 -0
  19. data/gemfiles/grape.gemfile +5 -0
  20. data/gemfiles/no_dependencies.gemfile +5 -0
  21. data/gemfiles/padrino.gemfile +5 -0
  22. data/gemfiles/que.gemfile +5 -0
  23. data/gemfiles/que_beta.gemfile +10 -0
  24. data/gemfiles/rails-3.2.gemfile +5 -0
  25. data/gemfiles/rails-4.0.gemfile +5 -0
  26. data/gemfiles/rails-4.1.gemfile +5 -0
  27. data/gemfiles/rails-4.2.gemfile +5 -0
  28. data/gemfiles/rails-6.0.gemfile +1 -1
  29. data/gemfiles/resque.gemfile +5 -0
  30. data/lib/appsignal.rb +1 -4
  31. data/lib/appsignal/cli/demo.rb +5 -2
  32. data/lib/appsignal/cli/diagnose/utils.rb +2 -0
  33. data/lib/appsignal/cli/install.rb +34 -10
  34. data/lib/appsignal/cli/notify_of_deploy.rb +10 -0
  35. data/lib/appsignal/event_formatter/action_view/render_formatter.rb +10 -8
  36. data/lib/appsignal/helpers/instrumentation.rb +18 -9
  37. data/lib/appsignal/helpers/metrics.rb +0 -1
  38. data/lib/appsignal/hooks.rb +3 -1
  39. data/lib/appsignal/hooks/active_support_notifications.rb +2 -5
  40. data/lib/appsignal/hooks/puma.rb +15 -13
  41. data/lib/appsignal/hooks/sequel.rb +1 -1
  42. data/lib/appsignal/hooks/sidekiq.rb +33 -8
  43. data/lib/appsignal/integrations/que.rb +9 -8
  44. data/lib/appsignal/minutely.rb +38 -19
  45. data/lib/appsignal/transaction.rb +5 -0
  46. data/lib/appsignal/utils/rails_helper.rb +4 -0
  47. data/lib/appsignal/version.rb +1 -1
  48. data/lib/puma/plugin/appsignal.rb +26 -0
  49. data/spec/lib/appsignal/cli/diagnose/utils_spec.rb +40 -0
  50. data/spec/lib/appsignal/cli/install_spec.rb +51 -7
  51. data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +10 -0
  52. data/spec/lib/appsignal/config_spec.rb +10 -8
  53. data/spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb +38 -28
  54. data/spec/lib/appsignal/hooks/active_support_notifications_spec.rb +104 -25
  55. data/spec/lib/appsignal/hooks/puma_spec.rb +69 -39
  56. data/spec/lib/appsignal/hooks/sidekiq_spec.rb +65 -3
  57. data/spec/lib/appsignal/hooks_spec.rb +4 -0
  58. data/spec/lib/appsignal/minutely_spec.rb +150 -88
  59. data/spec/lib/appsignal/transaction_spec.rb +27 -4
  60. data/spec/lib/appsignal_spec.rb +62 -11
  61. data/spec/lib/puma/appsignal_spec.rb +91 -0
  62. data/spec/support/{project_fixture → fixtures/projects/valid}/config/application.rb +0 -0
  63. data/spec/support/{project_fixture → fixtures/projects/valid}/config/appsignal.yml +0 -0
  64. data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/development.rb +0 -0
  65. data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/production.rb +0 -0
  66. data/spec/support/{project_fixture → fixtures/projects/valid}/config/environments/test.rb +0 -0
  67. data/spec/support/{project_fixture → fixtures/projects/valid}/log/.gitkeep +0 -0
  68. data/spec/support/helpers/config_helpers.rb +1 -1
  69. data/spec/support/helpers/wait_for_helper.rb +28 -0
  70. data/spec/support/mocks/mock_probe.rb +11 -0
  71. metadata +37 -30
  72. data/spec/support/fixtures/containers/cgroups/docker +0 -14
  73. data/spec/support/fixtures/containers/cgroups/docker_systemd +0 -8
  74. data/spec/support/fixtures/containers/cgroups/lxc +0 -10
  75. data/spec/support/fixtures/containers/cgroups/no_permission +0 -0
  76. data/spec/support/fixtures/containers/cgroups/none +0 -1
data/README.md CHANGED
@@ -6,6 +6,7 @@ issues.
6
6
 
7
7
  - [AppSignal.com website][appsignal]
8
8
  - [Documentation][docs]
9
+ - [Ruby code documentation][ruby-doc]
9
10
  - [Support][contact]
10
11
 
11
12
  [![Build Status](https://travis-ci.org/appsignal/appsignal-ruby.png?branch=master)](https://travis-ci.org/appsignal/appsignal-ruby)
@@ -230,9 +231,9 @@ BUNDLE_GEMFILE=gemfiles/sinatra.gemfile bundle exec rspec
230
231
  BUNDLE_GEMFILE=gemfiles/webmachine.gemfile bundle exec rspec
231
232
  ```
232
233
 
233
- If you have either [RVM][rvm] or [rbenv][rbenv] installed you can also use
234
- `rake generate_bundle_and_spec_all` to generate a script that runs specs for
235
- all Ruby versions and gem combinations we support.
234
+ If you have either [RVM][rvm], [rbenv][rbenv] or [chruby][chruby] installed you
235
+ can also use `rake build_matrix:local:generate` to generate a script that runs
236
+ specs for all Ruby versions and gem combinations we support.
236
237
 
237
238
  We run the suite against all of the Gemfiles mentioned above and on
238
239
  a number of different Ruby versions.
@@ -267,12 +268,15 @@ we send a package to so far on our [Stroopwafles page][waffles-page].
267
268
  AppSignal. They will help you get set up, tweak your code and make sure you get
268
269
  the most out of using AppSignal.
269
270
 
271
+ Also see our [SUPPORT.md file](SUPPORT.md).
272
+
270
273
  [appsignal]: https://appsignal.com
271
274
  [appsignal-sign-up]: https://appsignal.com/users/sign_up
272
275
  [contact]: mailto:support@appsignal.com
273
276
  [coc]: https://docs.appsignal.com/appsignal/code-of-conduct.html
274
277
  [waffles-page]: https://appsignal.com/waffles
275
278
  [docs]: http://docs.appsignal.com
279
+ [ruby-doc]: https://www.rubydoc.info/gems/appsignal
276
280
  [contributing-guide]: http://docs.appsignal.com/appsignal/contributing.html
277
281
  [supported-systems]: http://docs.appsignal.com/support/operating-systems.html
278
282
  [integrations]: http://docs.appsignal.com/ruby/integrations/index.html
@@ -286,3 +290,4 @@ the most out of using AppSignal.
286
290
  [semver]: http://semver.org/
287
291
  [rvm]: http://rvm.io/
288
292
  [rbenv]: https://github.com/rbenv/rbenv
293
+ [chruby]: https://github.com/postmodern/chruby/
data/Rakefile CHANGED
@@ -2,100 +2,134 @@ require "bundler"
2
2
  require "rubygems/package_task"
3
3
  require "fileutils"
4
4
 
5
- GEMFILES = %w[
6
- capistrano2
7
- capistrano3
8
- grape
9
- no_dependencies
10
- padrino
11
- rails-3.2
12
- rails-4.0
13
- rails-4.1
14
- rails-4.2
15
- rails-5.0
16
- resque
17
- sequel
18
- sequel-435
19
- sinatra
20
- grape
21
- webmachine
22
- que
23
- ].freeze
24
-
25
- RUBY_VERSIONS = %w[
26
- 2.0.0-p648
27
- 2.1.8
28
- 2.2.4
29
- 2.3.0
30
- 2.4.0
31
- ].freeze
32
-
33
- EXCLUSIONS = {
34
- "rails-5.0" => %w[2.0.0 2.1.8]
35
- }.freeze
36
-
37
5
  VERSION_MANAGERS = {
38
- :rbenv => ->(version) { "rbenv local #{version}" },
39
- :rvm => ->(version) { "rvm use --default #{version.split("-").first}" }
6
+ :chruby => {
7
+ :env => "#!/bin/bash\nsource /usr/local/opt/chruby/share/chruby/chruby.sh",
8
+ :switch_command => lambda { |version| "chruby #{version}" }
9
+ },
10
+ :rbenv => {
11
+ :env => "#!/bin/bash",
12
+ :switch_command => lambda { |version| "rbenv local #{version}" }
13
+ },
14
+ :rvm => {
15
+ :env => "#!/bin/bash --login",
16
+ :switch_command => lambda { |version| "rvm use --default #{version}" }
17
+ }
40
18
  }.freeze
41
19
 
42
- namespace :travis do
43
- task :generate do
44
- yaml = YAML.load_file("build_matrix.yml")
45
- matrix = yaml["matrix"]
46
- defaults = matrix["defaults"]
47
- gems = matrix["gems"]
20
+ namespace :build_matrix do
21
+ namespace :travis do
22
+ task :generate do
23
+ yaml = YAML.load_file("build_matrix.yml")
24
+ matrix = yaml["matrix"]
25
+ defaults = matrix["defaults"]
26
+
27
+ builds = []
28
+ matrix["ruby"].each do |ruby|
29
+ ruby_version = ruby["ruby"]
30
+ gemset_for_ruby(ruby, matrix).each do |gem|
31
+ next if excluded_for_ruby?(gem, ruby)
32
+
33
+ env = ""
34
+ rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
35
+ env = "_RUBYGEMS_VERSION=#{rubygems}" if rubygems
36
+ bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
37
+ env += " _BUNDLER_VERSION=#{bundler}" if bundler
38
+
39
+ builds << {
40
+ "rvm" => ruby_version,
41
+ "gemfile" => "gemfiles/#{gem["gem"]}.gemfile",
42
+ "env" => env
43
+ }
44
+ end
45
+ end
46
+ travis = yaml["travis"]
47
+ travis["matrix"]["include"] = travis["matrix"]["include"] + builds
48
+
49
+ header = "# DO NOT EDIT\n" \
50
+ "# This is a generated file by the `rake build_matrix:travis:generate` task.\n" \
51
+ "# See `build_matrix.yml` for the build matrix.\n" \
52
+ "# Generate this file with `rake build_matrix:travis:generate`.\n"
53
+ generated_yaml = header + YAML.dump(travis)
54
+ File.write(".travis.yml", generated_yaml)
55
+ puts "Generated `.travis.yml`"
56
+ puts "Build count: #{builds.length}"
57
+ end
58
+
59
+ task :validate => :generate do
60
+ `git status | grep .travis.yml 2>&1`
61
+ if $?.exitstatus.zero? # rubocop:disable Style/SpecialGlobalVars
62
+ puts "The `.travis.yml` is modified. The changes were not committed."
63
+ puts "Please run `rake build_matrix:travis:generate` and commit the changes."
64
+ exit 1
65
+ end
66
+ end
67
+ end
68
+
69
+ namespace :local do
70
+ task :generate do
71
+ yaml = YAML.load_file("build_matrix.yml")
72
+ matrix = yaml["matrix"]
73
+ defaults = matrix["defaults"]
74
+
75
+ VERSION_MANAGERS.each do |version_manager, config|
76
+ out = []
77
+ out << config[:env]
78
+ out << "rm -f .ruby-version"
79
+ out << "echo 'Using #{version_manager}'"
80
+ matrix["ruby"].each do |ruby|
81
+ ruby_version = ruby["ruby"]
82
+ out << "echo 'Switching to #{ruby_version}'"
83
+ out << "#{config[:switch_command].call(ruby_version)} || { echo 'Switching Ruby failed'; exit 1; }"
84
+ out << "ruby -v"
85
+ out << "echo 'Compiling extension'"
86
+ out << "./support/bundler_wrapper exec rake extension:install"
87
+ out << "rm -f gemfiles/*.gemfile.lock"
88
+ gemset_for_ruby(ruby, matrix).each do |gem|
89
+ next if excluded_for_ruby?(gem, ruby)
90
+ gemfile = gem["gem"]
91
+ out << "echo 'Bundling #{gemfile} in #{ruby_version}'"
92
+ rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
93
+ rubygems_version = "env _RUBYGEMS_VERSION=#{rubygems_version}" if rubygems
94
+ bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
95
+ bundler_version = "env _BUNDLER_VERSION=#{bundler}" if bundler
96
+ gemfile_env = "env BUNDLE_GEMFILE=gemfiles/#{gemfile}.gemfile"
97
+ out << "#{bundler_version} #{rubygems_version} ./support/install_deps"
98
+ out << "#{bundler_version} #{gemfile_env} ./support/bundler_wrapper install --quiet || { echo 'Bundling failed'; exit 1; }"
99
+ out << "echo 'Running #{gemfile} in #{ruby_version}'"
100
+ out << "#{bundler_version} #{gemfile_env} ./support/bundler_wrapper exec rspec || { echo 'Running specs failed'; exit 1; }"
101
+ end
102
+ out << ""
103
+ end
104
+ out << "rm -f .ruby-version"
105
+ out << "echo 'Successfully ran specs for all environments'"
48
106
 
49
- builds = []
50
- matrix["ruby"].each do |ruby|
51
- ruby_version = ruby["ruby"]
52
- gemset =
53
- if ruby["gems"]
54
- # Only a specific gemset for this Ruby
55
- selected_gems = matrix["gemsets"].fetch(ruby["gems"])
56
- gems.select { |g| selected_gems.include?(g["gem"]) }
57
- else
58
- # All gems for this Ruby
59
- gems
107
+ script = "bundle_and_spec_all_#{version_manager}"
108
+ FileUtils.rm_f(script)
109
+ File.open(script, "w") do |file|
110
+ file.write out.join("\n")
60
111
  end
61
- gemset.each do |gem|
62
- # Don't add build if ignored for this combination of Ruby and gem
63
- next if (gem.dig("exclude", "ruby") || []).include?(ruby_version)
64
-
65
- env = ""
66
- rubygems = gem["rubygems"] || ruby["rubygems"] || defaults["rubygems"]
67
- env = "_RUBYGEMS_VERSION=#{rubygems}" if rubygems
68
- bundler = gem["bundler"] || ruby["bundler"] || defaults["bundler"]
69
- env += " _BUNDLER_VERSION=#{bundler}" if bundler
70
-
71
- builds << {
72
- "rvm" => ruby_version,
73
- "gemfile" => "gemfiles/#{gem["gem"]}.gemfile",
74
- "env" => env
75
- }
112
+ File.chmod(0o775, script)
113
+ puts "Generated #{script}"
76
114
  end
77
115
  end
78
- travis = yaml["travis"]
79
- travis["matrix"]["include"] = travis["matrix"]["include"] + builds
80
-
81
- header = "# DO NOT EDIT\n" \
82
- "# This is a generated file by the `rake travis:generate` task.\n" \
83
- "# See `build_matrix.yml` for the build matrix.\n" \
84
- "# Generate this file with `rake travis:generate`.\n"
85
- generated_yaml = header + YAML.dump(travis)
86
- File.write(".travis.yml", generated_yaml)
87
- puts "Generated `.travis.yml`"
88
- puts "Build count: #{builds.length}"
89
116
  end
90
117
 
91
- task :validate => :generate do
92
- `git status | grep .travis.yml 2>&1`
93
- if $?.exitstatus.zero? # rubocop:disable Style/SpecialGlobalVars
94
- puts "The `.travis.yml` is modified. The changes were not committed."
95
- puts "Please run `rake travis:generate` and commit the changes."
96
- exit 1
118
+ def gemset_for_ruby(ruby, matrix)
119
+ gems = matrix["gems"]
120
+ if ruby["gems"]
121
+ # Only a specific gemset for this Ruby
122
+ selected_gems = matrix["gemsets"].fetch(ruby["gems"])
123
+ gems.select { |g| selected_gems.include?(g["gem"]) }
124
+ else
125
+ # All gems for this Ruby
126
+ gems
97
127
  end
98
128
  end
129
+
130
+ def excluded_for_ruby?(gem, ruby)
131
+ (gem.dig("exclude", "ruby") || []).include?(ruby["ruby"])
132
+ end
99
133
  end
100
134
 
101
135
  namespace :build do
@@ -180,7 +214,7 @@ namespace :publish do
180
214
  Dir.chdir("#{File.dirname(__FILE__)}/pkg") do
181
215
  Dir["*.gem"].each do |gem_package|
182
216
  puts "## Publishing gem package: #{gem_package}"
183
- puts `gem push #{gem_package}`
217
+ system "gem push #{gem_package}"
184
218
  end
185
219
  end
186
220
  end
@@ -234,44 +268,6 @@ task :spec_all_gemfiles do
234
268
  end
235
269
  end
236
270
 
237
- task :generate_bundle_and_spec_all do
238
- VERSION_MANAGERS.each do |version_manager, switch_command|
239
- out = []
240
- out << if version_manager == :rvm
241
- "#!/bin/bash --login"
242
- else
243
- "#!/bin/sh"
244
- end
245
- out << "rm -f .ruby-version"
246
- out << "echo 'Using #{version_manager}'"
247
- RUBY_VERSIONS.each do |version|
248
- short_version = version.split("-").first
249
- out << "echo 'Switching to #{short_version}'"
250
- out << "#{switch_command.call(version)} || { echo 'Switching Ruby failed'; exit 1; }"
251
- out << "ruby -v"
252
- out << "echo 'Compiling extension'"
253
- out << "cd ext && rm -f appsignal-agent appsignal_extension.bundle appsignal.h libappsignal.a Makefile && ruby extconf.rb && make && cd .."
254
- GEMFILES.each do |gemfile|
255
- next if EXCLUSIONS[gemfile] && EXCLUSIONS[gemfile].include?(short_version)
256
- out << "echo 'Bundling #{gemfile} in #{short_version}'"
257
- out << "bundle --quiet --gemfile gemfiles/#{gemfile}.gemfile || { echo 'Bundling failed'; exit 1; }"
258
- out << "echo 'Running #{gemfile} in #{short_version}'"
259
- out << "env BUNDLE_GEMFILE=gemfiles/#{gemfile}.gemfile bundle exec rspec || { echo 'Running specs failed'; exit 1; }"
260
- end
261
- end
262
- out << "rm -f .ruby-version"
263
- out << "echo 'Successfully ran specs for all environments'"
264
-
265
- script = "bundle_and_spec_all_#{version_manager}"
266
- FileUtils.rm_f(script)
267
- File.open(script, "w") do |file|
268
- file.write out.join("\n")
269
- end
270
- File.chmod(0o775, script)
271
- puts "Generated #{script}"
272
- end
273
- end
274
-
275
271
  task :console do
276
272
  require "irb"
277
273
  require "irb/completion"
@@ -0,0 +1,16 @@
1
+ # Support
2
+
3
+ [Contact us][contact] and speak directly with the engineers working on
4
+ AppSignal. They will help you get set up, tweak your code and make sure you get
5
+ the most out of using AppSignal. You can also find our documentation at
6
+ [docs.appsignal.com](https://docs.appsignal.com/).
7
+
8
+ We do not recommend creating an issue on the Ruby gem's GitHub project if it
9
+ concerns your private app data. During the support process we'll need the
10
+ AppSignal logs and other resources that contain your app's private data,
11
+ something for which the public GitHub issue tracker is not suited.
12
+
13
+ Please contact us on our website [appsignal.com](https://appsignal.com/) or via
14
+ email at [support@appsignal.com][contact].
15
+
16
+ [contact]: mailto:support@appsignal.com
@@ -2,10 +2,11 @@
2
2
 
3
3
  require File.expand_path("../lib/appsignal/version", __FILE__)
4
4
 
5
- Gem::Specification.new do |gem|
5
+ Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
6
6
  gem.authors = [
7
7
  "Robert Beekman",
8
- "Thijs Cadier"
8
+ "Thijs Cadier",
9
+ "Tom de Bruijn"
9
10
  ]
10
11
  gem.email = ["support@appsignal.com"]
11
12
  gem.description = "The official appsignal.com gem"
@@ -25,13 +26,22 @@ Gem::Specification.new do |gem|
25
26
  # `Rakefile`.
26
27
  gem.extensions = %w[ext/extconf.rb]
27
28
 
29
+ gem.metadata = {
30
+ "bug_tracker_uri" => "https://github.com/appsignal/appsignal-ruby/issues",
31
+ "changelog_uri" =>
32
+ "https://github.com/appsignal/appsignal-ruby/blob/master/CHANGELOG.md",
33
+ "documentation_uri" => "https://docs.appsignal.com/ruby/",
34
+ "homepage_uri" => "https://docs.appsignal.com/ruby/",
35
+ "source_code_uri" => "https://github.com/appsignal/appsignal-ruby"
36
+ }
37
+
28
38
  gem.add_dependency "rack"
29
39
 
30
40
  gem.add_development_dependency "rake", "~> 11"
31
- gem.add_development_dependency "rspec", "~> 3.7"
41
+ gem.add_development_dependency "rspec", "~> 3.8"
32
42
  gem.add_development_dependency "pry"
33
43
  gem.add_development_dependency "timecop"
34
44
  gem.add_development_dependency "webmock"
35
45
  gem.add_development_dependency "rubocop", "0.50.0"
36
- gem.add_development_dependency "yard"
46
+ gem.add_development_dependency "yard", ">= 0.9.20"
37
47
  end
@@ -9,17 +9,18 @@ travis: # Default `.travis.yml` contents
9
9
  language: ruby
10
10
  cache:
11
11
  directories:
12
- - vendor/bundle
12
+ - "$TRAVIS_BUILD_DIR/vendor/cache"
13
13
 
14
14
  env:
15
15
  global:
16
+ - "BUNDLE_PATH=$TRAVIS_BUILD_DIR/vendor/cache"
16
17
  - "RUNNING_IN_CI=true"
17
18
  - "RAILS_ENV=test"
18
19
  - "JRUBY_OPTS=''" # Workaround https://github.com/travis-ci/travis-ci/issues/6471
19
20
 
20
21
  before_install:
21
22
  - "./support/install_deps"
22
- install: "./support/bundler_wrapper install --jobs=3 --retry=3"
23
+ install: "./support/bundler_wrapper install --jobs=3 --retry=3 --path=${BUNDLE_PATH:-$TRAVIS_BUILD_DIR/vendor/cache}"
23
24
  before_script:
24
25
  - "./support/bundler_wrapper exec rake extension:install"
25
26
  script: "./support/bundler_wrapper exec rake test"
@@ -30,11 +31,11 @@ travis: # Default `.travis.yml` contents
30
31
  matrix:
31
32
  fast_finish: true
32
33
  include: # Builds based on the matrix below are added to this list
33
- - rvm: "2.6.0"
34
+ - rvm: "2.6.4"
34
35
  gemfile: "gemfiles/no_dependencies.gemfile"
35
36
  before_script: "" # Unset default: No need to install the extension
36
37
  script:
37
- - "./support/bundler_wrapper exec rake travis:validate"
38
+ - "./support/bundler_wrapper exec rake build_matrix:travis:validate"
38
39
  - "./support/bundler_wrapper exec rubocop"
39
40
 
40
41
  matrix:
@@ -47,7 +48,6 @@ matrix:
47
48
  - "no_dependencies"
48
49
  minimal:
49
50
  - "no_dependencies"
50
- - "rails-4.2"
51
51
  - "rails-5.2"
52
52
 
53
53
  ruby:
@@ -65,7 +65,7 @@ matrix:
65
65
  gems: "none"
66
66
  - ruby: "2.5.3"
67
67
  gems: "minimal"
68
- - ruby: "2.6.0"
68
+ - ruby: "2.6.4"
69
69
  - ruby: "jruby-19mode"
70
70
  gems: "minimal"
71
71
  gems:
@@ -76,16 +76,20 @@ matrix:
76
76
  - gem: "padrino"
77
77
  bundler: "1.17.3"
78
78
  - gem: "que"
79
+ - gem: "que_beta"
80
+ exclude:
81
+ ruby:
82
+ - "2.0.0"
79
83
  - gem: "rails-3.2"
80
84
  bundler: "1.17.3"
81
85
  exclude:
82
86
  ruby:
83
- - "2.6.0"
87
+ - "2.6.4"
84
88
  - gem: "rails-4.2"
85
89
  bundler: "1.17.3"
86
90
  exclude:
87
91
  ruby:
88
- - "2.6.0"
92
+ - "2.6.4"
89
93
  - gem: "rails-5.0"
90
94
  exclude:
91
95
  ruby:
@@ -102,6 +106,10 @@ matrix:
102
106
  exclude:
103
107
  ruby:
104
108
  - "2.0.0"
109
+ - "2.1.8"
110
+ - "2.2.4"
111
+ - "2.3.8"
112
+ - "2.4.5"
105
113
  - gem: "resque"
106
114
  bundler: "1.17.3"
107
115
  - gem: "sequel"