appsignal 3.0.3-java → 3.0.7-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.semaphore/semaphore.yml +64 -199
  3. data/CHANGELOG.md +47 -19
  4. data/README.md +9 -3
  5. data/appsignal.gemspec +16 -3
  6. data/build_matrix.yml +16 -24
  7. data/ext/agent.yml +17 -17
  8. data/ext/base.rb +12 -1
  9. data/gemfiles/capistrano2.gemfile +0 -1
  10. data/gemfiles/capistrano3.gemfile +0 -1
  11. data/gemfiles/grape.gemfile +0 -1
  12. data/gemfiles/no_dependencies.gemfile +4 -1
  13. data/gemfiles/rails-3.2.gemfile +2 -0
  14. data/gemfiles/rails-4.2.gemfile +6 -0
  15. data/gemfiles/resque-2.gemfile +0 -4
  16. data/gemfiles/sequel-435.gemfile +0 -1
  17. data/gemfiles/sequel.gemfile +0 -1
  18. data/gemfiles/sinatra.gemfile +0 -1
  19. data/lib/appsignal/config.rb +1 -0
  20. data/lib/appsignal/hooks.rb +2 -1
  21. data/lib/appsignal/hooks/excon.rb +19 -0
  22. data/lib/appsignal/hooks/puma.rb +1 -16
  23. data/lib/appsignal/integrations/excon.rb +20 -0
  24. data/lib/appsignal/integrations/padrino.rb +1 -1
  25. data/lib/appsignal/integrations/railtie.rb +1 -1
  26. data/lib/appsignal/integrations/redis.rb +8 -5
  27. data/lib/appsignal/integrations/sinatra.rb +1 -1
  28. data/lib/appsignal/probes.rb +0 -1
  29. data/lib/appsignal/version.rb +1 -1
  30. data/lib/puma/plugin/appsignal.rb +146 -17
  31. data/mono.yml +16 -0
  32. data/spec/lib/appsignal/cli/diagnose_spec.rb +1 -0
  33. data/spec/lib/appsignal/hooks/excon_spec.rb +74 -0
  34. data/spec/lib/appsignal/hooks/puma_spec.rb +0 -46
  35. data/spec/lib/appsignal/hooks/redis_spec.rb +34 -10
  36. data/spec/lib/appsignal/hooks_spec.rb +4 -1
  37. data/spec/lib/puma/appsignal_spec.rb +244 -68
  38. data/support/install_deps +9 -8
  39. metadata +8 -6
  40. data/lib/appsignal/probes/puma.rb +0 -61
  41. data/spec/lib/appsignal/probes/puma_spec.rb +0 -180
data/CHANGELOG.md CHANGED
@@ -1,21 +1,49 @@
1
- # Changelog
1
+ # AppSignal for Ruby gem Changelog
2
2
 
3
- # 3.0.3
3
+ ## 3.0.7
4
+
5
+ - [27f9b178](https://github.com/appsignal/appsignal-ruby/commit/27f9b178c20006ee15e69bdf878f3a0c9975b1f4) patch - Bump agent to 6caf6d0. Replaces curl HTTP client and includes various other maintenance updates.
6
+ - [665d883a](https://github.com/appsignal/appsignal-ruby/commit/665d883a529e5c14b28e73eeb3ae6410deb3e182) patch - Improve Puma plugin stats collection. Instead of starting the AppSignal gem in the main process we send the stats to the AppSignal agent directly using StatsD. This should improve compatibility with phased restarts. If you use `prune_bundler`, you will need to add AppSignal to the extra `extra_runtime_dependencies` list.
7
+
8
+ ```
9
+ # config/puma.rb
10
+ plugin :appsignal
11
+ extra_runtime_dependencies ["appsignal"]
12
+ ```
13
+
14
+ ## 3.0.6
15
+
16
+ - [d354d79b](https://github.com/appsignal/appsignal-ruby/commit/d354d79b293fd549e66cae60d805d1b1e9e9d2d8) patch - Add Excon integration. Track requests and responses from the Excon gem.
17
+ - [4c32e818](https://github.com/appsignal/appsignal-ruby/commit/4c32e8180b797d7987c67b68720c6a5d22935333) patch - Support Redis eval statements better by showing the actual script that was performed. Instead of showing `eval ? ? ?` (for a script with 2 arguments), show `<script> ? ?`, where `<script>` is whatever script was sent to `Redis.new.eval("<script>")`.
18
+
19
+ ## 3.0.5
20
+
21
+ - [4bddac36](https://github.com/appsignal/appsignal-ruby/commit/4bddac3618ccea03c165eec53cee90e222b68cd6) patch - Skip empty HTTP proxy config. When any of the HTTP proxy config returns an
22
+ empty string, skip this config. This fixes installation issues where an empty
23
+ String is used as a HTTP proxy, causing a RuntimeError upon installation.
24
+
25
+ ## 3.0.4
26
+
27
+ - [6338e822](https://github.com/appsignal/appsignal-ruby/commit/6338e8227c674ea7bbe6f55cdfde784fa9f5048f) patch - Drop logger level to debug. Reduce the output on the "info" level and only show
28
+ these messages in debug mode. This should reduce the noise for users running
29
+ AppSignal with the STDOUT logger, such as is the default on Heroku.
30
+
31
+ ## 3.0.3
4
32
  - Fix deprecation message for set_error namespace argument. PR #712
5
33
  - Fix example code for Transaction#set_namespace method. PR #713
6
34
  - Fix extension fallbacks on extension installation failure, that caused
7
35
  - NoMethodErrors. PR #720
8
36
  - Bump agent to v-75e76ad. PR #721
9
37
 
10
- # 3.0.2
38
+ ## 3.0.2
11
39
  - Fix error on Rails boot when `enable_frontend_error_catching` is `true`.
12
40
  PR #711
13
41
 
14
- # 3.0.1
42
+ ## 3.0.1
15
43
  - Fix error occurring on APPSIGNAL_DNS_SERVER environment variable option
16
44
  parsing. PR #709
17
45
 
18
- # 3.0.0
46
+ ## 3.0.0
19
47
 
20
48
  Please read our [upgrade from version 2 to 3 guide][upgrade3] before upgrading.
21
49
 
@@ -31,46 +59,46 @@ Please read our [upgrade from version 2 to 3 guide][upgrade3] before upgrading.
31
59
  - Add Sidekiq error handler. Report more Sidekiq errors that happen around job
32
60
  execution. PR #699
33
61
 
34
- # 2.11.9
62
+ ## 2.11.9
35
63
  - Fix and simplify Ruby method delegation for object method instrumentation in
36
64
  the different Ruby versions. PR #706
37
65
 
38
- # 2.11.8
66
+ ## 2.11.8
39
67
  - Mark minutely probe thread as fork-safe by @pixeltrix. PR #704
40
68
 
41
- # 2.11.7
69
+ ## 2.11.7
42
70
  - Fix ActionCable integration in test environment using `stub_connection`.
43
71
  PR #705
44
72
 
45
- # 2.11.6
73
+ ## 2.11.6
46
74
  - Prepend Sidekiq middleware to wrap all Sidekiq middleware. Catches more
47
75
  errors and provide more complete performance measurements. PR #698
48
76
 
49
- # 2.11.5
77
+ ## 2.11.5
50
78
  - Add more detailed logging to finish_event calls when the event is unknown, so
51
79
  we know what event is being tried to finish. Commit
52
80
  c888a04d1b9ac947652b29c111c650fb5a5cf71c
53
81
 
54
- # 2.11.4
82
+ ## 2.11.4
55
83
  - Support Ruby 3.0 for Object method instrumentation with keyword arguments
56
84
  (https://docs.appsignal.com/ruby/instrumentation/method-instrumentation.html)
57
85
  PR #693
58
86
 
59
- # 2.11.3
87
+ ## 2.11.3
60
88
  - Support Shoryuken batch workers. PR #687
61
89
 
62
- # 2.11.2
90
+ ## 2.11.2
63
91
  - Support Ruby 3.0. PR #681
64
92
  - Support breadcrumbs. PR #666
65
93
  - Log Ruby errors on extension download. PR #679
66
94
  - Fix Ruby 1.9 build. PR #680
67
95
 
68
- # 2.11.1
96
+ ## 2.11.1
69
97
  - Support AS notifications instrumenters that use `start` and `finish`.
70
98
  - Updated agent with better logging and an IO stats fix.
71
99
  - ActionMailer magic dashboard
72
100
 
73
- # 2.11.0
101
+ ## 2.11.0
74
102
  - Track queue time regardless of namespace. Support custom namespaces. PR #602
75
103
  - Improve deprecation message from frontend error middleware. PR #620
76
104
  - Report Ruby environment metadata. PR #621, #627, #619, #618
@@ -97,20 +125,20 @@ Please read our [upgrade from version 2 to 3 guide][upgrade3] before upgrading.
97
125
  - Update AuthCheck class to use DeprecationMessage helper. PR #649
98
126
  - Print extension load error when AppSignal is loaded. PR #651
99
127
 
100
- # 2.10.12
128
+ ## 2.10.12
101
129
  - Fix `working_directory_path` config option loaded from environment variables.
102
130
  PR #653
103
131
 
104
- # 2.10.11
132
+ ## 2.10.11
105
133
  - Fix extension install report status output in `appsignal diagnose`. PR #636
106
134
  - Support setting a specific configuration file to load with the
107
135
  `Appsignal::Config` initializer. PR #638
108
136
 
109
- # 2.10.10
137
+ ## 2.10.10
110
138
  - Bump agent to v-4548c88. PR #634
111
139
  - Fix issue with host metrics values being reported as "Infinity".
112
140
 
113
- # 2.10.9
141
+ ## 2.10.9
114
142
  - Use http proxy if configured when downloading agent. PR #606
115
143
  - Clear event details cache every 48 hours.
116
144
  Commit eb5e899db69fcd7cfa221567bfd6ac04f2654c9c
data/README.md CHANGED
@@ -161,9 +161,13 @@ systems][supported-systems] page.
161
161
 
162
162
  Following the process below to release a new version of the Ruby gem.
163
163
 
164
- 1. Run: `rake publish`
165
- 1. Update the Ruby gem version number when prompted.
166
- 1. Update the `CHANGELOG` file with the changes since the last release.
164
+ 1. Make sure [mono](https://github.com/appsignal/mono/) is installed by
165
+ following the installation instructions.
166
+ 1. Run: `mono publish`
167
+ - Mono will automatically bump the version number based on the
168
+ `.changesets/`.
169
+ - Mono will automatically update the `CHANGELOG.md` file based on the
170
+ `.changesets/`.
167
171
  1. Confirm with your two-factor authentication token for Rubygems.org, _twice_.
168
172
 
169
173
  ## Development
@@ -176,6 +180,8 @@ install all possible dependencies.
176
180
  ```bash
177
181
  # Install Bundler
178
182
  gem install bundler
183
+ # Bootstrap the project
184
+ mono bootstrap
179
185
  # Install the AppSignal extension and _all_ gems we support.
180
186
  bundle exec rake install
181
187
  # Only install the AppSignal extension.
data/appsignal.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
15
15
  gem.homepage = "https://github.com/appsignal/appsignal-ruby"
16
16
  gem.license = "MIT"
17
17
 
18
- gem.files = `git ls-files`.split($\) # rubocop:disable Style/SpecialGlobalVars
18
+ gem.files = `git ls-files`.split($\).reject { |f| f.start_with?(".changesets/") } # rubocop:disable Style/SpecialGlobalVars
19
19
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
20
20
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
21
21
  gem.name = "appsignal"
@@ -43,10 +43,23 @@ Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
43
43
  gem.add_development_dependency "webmock"
44
44
  gem.add_development_dependency "yard", ">= 0.9.20"
45
45
  gem.add_development_dependency "pry"
46
- gem.add_development_dependency "rubocop", "0.50.0"
47
- if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.1.0")
46
+
47
+ # Dependencies that need to be locked to a specific version in developement
48
+ ruby_version = Gem::Version.new(RUBY_VERSION)
49
+ if ruby_version > Gem::Version.new("2.5.0")
50
+ # RuboCop dependency parallel depends on Ruby > 2.4
51
+ gem.add_development_dependency "rubocop", "0.50.0"
52
+ end
53
+ if ruby_version < Gem::Version.new("2.1.0")
48
54
  # Newer versions of rexml use keyword arguments with optional arguments which
49
55
  # work in Ruby 2.1 and newer.
50
56
  gem.add_development_dependency "rexml", "3.2.4"
51
57
  end
58
+ if ruby_version < Gem::Version.new("2.1.0")
59
+ # public_suffix 3.0 and newer don't support Ruby < 2.1
60
+ gem.add_development_dependency "public_suffix", "~> 2.0.5"
61
+ elsif ruby_version < Gem::Version.new("2.3.0")
62
+ # public_suffix 4.0 and newer don't support Ruby < 2.3
63
+ gem.add_development_dependency "public_suffix", "~> 3.1.1"
64
+ end
52
65
  end
data/build_matrix.yml CHANGED
@@ -88,6 +88,10 @@ matrix:
88
88
  gemsets: # By default all gems are tested
89
89
  none:
90
90
  - "no_dependencies"
91
+ old_rails:
92
+ - "no_dependencies"
93
+ - "rails-3.2"
94
+ - "rails-4.2"
91
95
  minimal:
92
96
  - "no_dependencies"
93
97
  - "rails-5.2"
@@ -97,6 +101,7 @@ matrix:
97
101
  - ruby: "2.0.0-p648"
98
102
  rubygems: "2.7.8"
99
103
  bundler: "1.17.3"
104
+ gems: "old_rails"
100
105
  - ruby: "2.1.10"
101
106
  rubygems: "2.7.8"
102
107
  bundler: "1.17.3"
@@ -112,8 +117,8 @@ matrix:
112
117
  - ruby: "2.5.8"
113
118
  gems: "minimal"
114
119
  - ruby: "2.6.6"
115
- - ruby: "2.7.2"
116
- - ruby: "3.0.0"
120
+ - ruby: "2.7.3"
121
+ - ruby: "3.0.1"
117
122
  - ruby: "jruby-9.1.17.0"
118
123
  gems: "minimal"
119
124
  gems:
@@ -122,47 +127,37 @@ matrix:
122
127
  - gem: "capistrano3"
123
128
  - gem: "grape"
124
129
  - gem: "padrino"
125
- exclude:
126
- ruby:
127
- - "2.0.0-p648"
128
130
  - gem: "que"
129
131
  - gem: "que_beta"
130
- exclude:
131
- ruby:
132
- - "2.0.0-p648"
133
132
  - gem: "rails-3.2"
134
133
  bundler: "1.17.3"
135
134
  exclude:
136
135
  ruby:
137
136
  - "2.6.6"
138
- - "2.7.2"
139
- - "3.0.0"
137
+ - "2.7.3"
138
+ - "3.0.1"
140
139
  - gem: "rails-4.2"
141
140
  bundler: "1.17.3"
142
141
  exclude:
143
142
  ruby:
144
143
  - "2.6.6"
145
- - "2.7.2"
146
- - "3.0.0"
144
+ - "2.7.3"
145
+ - "3.0.1"
147
146
  - gem: "rails-5.0"
148
147
  exclude:
149
148
  ruby:
150
- - "2.0.0-p648"
151
- - "3.0.0"
149
+ - "3.0.1"
152
150
  - gem: "rails-5.1"
153
151
  exclude:
154
152
  ruby:
155
- - "2.0.0-p648"
156
- - "3.0.0"
153
+ - "3.0.1"
157
154
  - gem: "rails-5.2"
158
155
  exclude:
159
156
  ruby:
160
- - "2.0.0-p648"
161
- - "3.0.0"
157
+ - "3.0.1"
162
158
  - gem: "rails-6.0"
163
159
  exclude:
164
160
  ruby:
165
- - "2.0.0-p648"
166
161
  - "2.1.10"
167
162
  - "2.2.10"
168
163
  - "2.3.8"
@@ -172,15 +167,12 @@ matrix:
172
167
  bundler: "1.17.3"
173
168
  exclude:
174
169
  ruby:
175
- - "3.0.0"
170
+ - "3.0.1"
176
171
  - gem: "resque-2"
177
- exclude:
178
- ruby:
179
- - "2.0.0-p648"
180
172
  - gem: "sequel"
181
173
  - gem: "sequel-435"
182
174
  exclude:
183
175
  ruby:
184
- - "3.0.0"
176
+ - "3.0.1"
185
177
  - gem: "sinatra"
186
178
  - gem: "webmachine"
data/ext/agent.yml CHANGED
@@ -1,62 +1,62 @@
1
1
  ---
2
- version: 75e76ad
2
+ version: 3ecd06f
3
3
  mirrors:
4
4
  - https://appsignal-agent-releases.global.ssl.fastly.net
5
5
  - https://d135dj0rjqvssy.cloudfront.net
6
6
  triples:
7
7
  x86_64-darwin:
8
8
  static:
9
- checksum: 81edea50b934fe5b42c0081a1de5782bc477c321c1c76127d7fa525917f70a04
9
+ checksum: 39839e64832d7964fad51d9acc95374654446ade04d06cbba4d052e4483a8516
10
10
  filename: appsignal-x86_64-darwin-all-static.tar.gz
11
11
  dynamic:
12
- checksum: 60befd59ac704ee21d5881ca0aef6b38caa50b1d1972425bf8f40b4f9710ec1e
12
+ checksum: 841b82677aaf553219f689b92b6dc6988278420e2e72dcab28a6c5915a0e4158
13
13
  filename: appsignal-x86_64-darwin-all-dynamic.tar.gz
14
14
  universal-darwin:
15
15
  static:
16
- checksum: 81edea50b934fe5b42c0081a1de5782bc477c321c1c76127d7fa525917f70a04
16
+ checksum: 39839e64832d7964fad51d9acc95374654446ade04d06cbba4d052e4483a8516
17
17
  filename: appsignal-x86_64-darwin-all-static.tar.gz
18
18
  dynamic:
19
- checksum: 60befd59ac704ee21d5881ca0aef6b38caa50b1d1972425bf8f40b4f9710ec1e
19
+ checksum: 841b82677aaf553219f689b92b6dc6988278420e2e72dcab28a6c5915a0e4158
20
20
  filename: appsignal-x86_64-darwin-all-dynamic.tar.gz
21
21
  i686-linux:
22
22
  static:
23
- checksum: 60ad6a1f69c8f89b5642f49fbf794409e8ada7d63a9126b2c59832c2a92d5b22
23
+ checksum: fdf923153992816c813f938f41feadafbf80d8fa10a785123ee23184945047a0
24
24
  filename: appsignal-i686-linux-all-static.tar.gz
25
25
  dynamic:
26
- checksum: aedf259de392ea00fd17bc30924cde70d9a1d82a62c6eeefc881cd5ea5dcce63
26
+ checksum: d2b8635199a73a1769ee7495acac0cdc69c4f964fef9ec7749fde517d789e1dd
27
27
  filename: appsignal-i686-linux-all-dynamic.tar.gz
28
28
  x86-linux:
29
29
  static:
30
- checksum: 60ad6a1f69c8f89b5642f49fbf794409e8ada7d63a9126b2c59832c2a92d5b22
30
+ checksum: fdf923153992816c813f938f41feadafbf80d8fa10a785123ee23184945047a0
31
31
  filename: appsignal-i686-linux-all-static.tar.gz
32
32
  dynamic:
33
- checksum: aedf259de392ea00fd17bc30924cde70d9a1d82a62c6eeefc881cd5ea5dcce63
33
+ checksum: d2b8635199a73a1769ee7495acac0cdc69c4f964fef9ec7749fde517d789e1dd
34
34
  filename: appsignal-i686-linux-all-dynamic.tar.gz
35
35
  x86_64-linux:
36
36
  static:
37
- checksum: 7e3cf760f9bd364a6602f05e5014ce1c8e8ac9a97f7a533769711e0fb21e1f45
37
+ checksum: d81383dedb228f484e1d1e28a76ddc017d788fa62270b6e3f5a55765a4fb89d9
38
38
  filename: appsignal-x86_64-linux-all-static.tar.gz
39
39
  dynamic:
40
- checksum: 4a9a4ea22abc93c3afa7d5bfd6f442cd69bf4d672e8db2df1aa2157cfb3fcc4b
40
+ checksum: f98948600345ee4726712937b13059fe7145d9b83273fc6efc6e0fd6a255381a
41
41
  filename: appsignal-x86_64-linux-all-dynamic.tar.gz
42
42
  x86_64-linux-musl:
43
43
  static:
44
- checksum: 4d4dd00607cbe0fb4d14a15e74990f207eba90134c2d1a079b58f0d50f1ab76b
44
+ checksum: be2c414da7eb0837f23a8791b369e650aea26afbf9d3be9f530bc2de11fc888f
45
45
  filename: appsignal-x86_64-linux-musl-all-static.tar.gz
46
46
  dynamic:
47
- checksum: 067a6d821e220c9c88ceb8f936390ce458fa94f41c13d32603d773485a8cdfd2
47
+ checksum: 3d04b9dcfbfe7696e028f9205dcae08e41bd87d162f7f37d04cc3d4a7442a9ec
48
48
  filename: appsignal-x86_64-linux-musl-all-dynamic.tar.gz
49
49
  x86_64-freebsd:
50
50
  static:
51
- checksum: 176bc1ff1ad40a585ea10456a8ae3f6502c614d713dcbb957d550fa1ae44e7ca
51
+ checksum: fcbfabaa51f9004ed697e9000bfc1a7d71f48f40c04f9c9588a5c8f09cddf0ea
52
52
  filename: appsignal-x86_64-freebsd-all-static.tar.gz
53
53
  dynamic:
54
- checksum: 88c6f3e03f8f6c25a4705f7d6c4286eaa563069a9fb8fad3c0a19e5b9a09f80b
54
+ checksum: ffc261d6d2a799e9bbf1cee3f9134da60cd72cd6b47a72e8c63a5a11e4d0b472
55
55
  filename: appsignal-x86_64-freebsd-all-dynamic.tar.gz
56
56
  amd64-freebsd:
57
57
  static:
58
- checksum: 176bc1ff1ad40a585ea10456a8ae3f6502c614d713dcbb957d550fa1ae44e7ca
58
+ checksum: fcbfabaa51f9004ed697e9000bfc1a7d71f48f40c04f9c9588a5c8f09cddf0ea
59
59
  filename: appsignal-x86_64-freebsd-all-static.tar.gz
60
60
  dynamic:
61
- checksum: 88c6f3e03f8f6c25a4705f7d6c4286eaa563069a9fb8fad3c0a19e5b9a09f80b
61
+ checksum: ffc261d6d2a799e9bbf1cee3f9134da60cd72cd6b47a72e8c63a5a11e4d0b472
62
62
  filename: appsignal-x86_64-freebsd-all-dynamic.tar.gz
data/ext/base.rb CHANGED
@@ -184,7 +184,18 @@ def store_download_version_on_report
184
184
  end
185
185
 
186
186
  def http_proxy
187
- Gem.configuration[:http_proxy] || ENV["http_proxy"] || ENV["HTTP_PROXY"]
187
+ proxy = try_http_proxy_value(Gem.configuration[:http_proxy])
188
+ return proxy if proxy
189
+
190
+ proxy = try_http_proxy_value(ENV["http_proxy"])
191
+ return proxy if proxy
192
+
193
+ proxy = try_http_proxy_value(ENV["HTTP_PROXY"])
194
+ return proxy if proxy
195
+ end
196
+
197
+ def try_http_proxy_value(value)
198
+ value if value.respond_to?(:empty?) && !value.strip.empty?
188
199
  end
189
200
 
190
201
  # Fail the installation on purpose in a specific test environment.
@@ -2,6 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'capistrano', '< 3.0'
4
4
  gem 'net-ssh', '2.9.2'
5
- gem 'rack', '~> 1.6'
6
5
 
7
6
  gemspec :path => '../'
@@ -3,6 +3,5 @@ source 'https://rubygems.org'
3
3
  gem 'capistrano', '~> 3.0'
4
4
  gem 'i18n', '~> 1.2.0'
5
5
  gem 'net-ssh', '2.9.2'
6
- gem 'rack', '~> 1.6'
7
6
 
8
7
  gemspec :path => '../'
@@ -1,7 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'grape', '0.14.0'
4
- gem 'rack', '~> 1.6'
5
4
  gem 'activesupport', '~> 4.2'
6
5
 
7
6
  gemspec :path => '../'
@@ -1,5 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'rack', '~> 1.6'
3
+ ruby_version = Gem::Version.new(RUBY_VERSION)
4
+ if ruby_version < Gem::Version.new("2.3.0")
5
+ gem 'rack', '~> 1.6'
6
+ end
4
7
 
5
8
  gemspec :path => '../'
@@ -3,4 +3,6 @@ source 'https://rubygems.org'
3
3
  gem 'rails', '~> 3.2.14'
4
4
  gem 'test-unit'
5
5
 
6
+ gem "rack-cache", "~> 1.9.0"
7
+
6
8
  gemspec :path => '../'
@@ -13,5 +13,11 @@ end
13
13
  if ruby_version < Gem::Version.new("2.1.0")
14
14
  gem 'nokogiri', '~> 1.6.0'
15
15
  end
16
+ if ruby_version < Gem::Version.new("2.5.0")
17
+ gem 'sprockets', '~> 3.7.2'
18
+ end
19
+
20
+ gem "minitest", "5.12.0"
21
+ gem "connection_pool", "2.2.3"
16
22
 
17
23
  gemspec :path => '../'