appsignal 2.11.9-java → 2.11.10-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df7fae0d072de1948a84fc6c546b15da9e76bfde32f70e28d4242ba2dbc98be2
4
- data.tar.gz: '092acba4f404fafd21333649bdd65c190da7b31507172f7da91c9a56debe2c5a'
3
+ metadata.gz: f459ee333cb6c489c9b87304f36d28f3b19afa043ebda292d47b03205a76eec4
4
+ data.tar.gz: 005e8940811ee1ce786110f0190abb99f173d52ee25b1f4fd2bf36a71c273254
5
5
  SHA512:
6
- metadata.gz: e6f79d7c05a1504874bb7b86816d8c2c405e1499ff765839984db085d3b3bb26da03af7749c78e6a7013bf3afe52fc95badd66bc8787c5b7c0587f4d12b1ca70
7
- data.tar.gz: 843ccd65902958efcd641d09d8c65e9ec55ac0a908ac16651a4016fb99329bfa6b1c903472a59182e21f56f83ac738e7dd0eb03d957bbaed4bba550b8a8ce76b
6
+ metadata.gz: 0d438e3363e0a06472fd22897c90f42c3c0dd4d37de8635e5ad88f680241d0ba0b51a4c2334ad38ff3d2edade7333dc00a42e06522462aabb8b685bbc8f39a86
7
+ data.tar.gz: 0a03bc7a32afb7cf911e684e13eb2357817edb81d8fec6f3de2ca95bcc71b74685502c641633269d6c23650f24c7ea0a310592397da2039a193d3e3559261dda
@@ -32,6 +32,7 @@ global_job_config:
32
32
  commands:
33
33
  - checkout
34
34
  - rm -f $HOME/.rbenv/plugins/rbenv-gem-rehash/etc/rbenv.d/exec/~gem-rehash.bash
35
+ - if [ -n "$_C_VERSION" ]; then sem-version c $_C_VERSION; fi
35
36
  - sem-version ruby $RUBY_VERSION
36
37
  - "./support/check_versions"
37
38
  - cache restore $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE)
@@ -133,66 +134,6 @@ blocks:
133
134
  commands:
134
135
  - "./support/bundler_wrapper exec rake extension:install"
135
136
  jobs:
136
- - name: Ruby 2.0.0-p648 for capistrano2
137
- env_vars:
138
- - name: RUBY_VERSION
139
- value: 2.0.0-p648
140
- - name: GEMSET
141
- value: capistrano2
142
- - name: BUNDLE_GEMFILE
143
- value: gemfiles/capistrano2.gemfile
144
- - name: _RUBYGEMS_VERSION
145
- value: 2.7.8
146
- - name: _BUNDLER_VERSION
147
- value: 1.17.3
148
- commands:
149
- - "./support/bundler_wrapper exec rake test"
150
- - "./support/bundler_wrapper exec rake test:failure"
151
- - name: Ruby 2.0.0-p648 for capistrano3
152
- env_vars:
153
- - name: RUBY_VERSION
154
- value: 2.0.0-p648
155
- - name: GEMSET
156
- value: capistrano3
157
- - name: BUNDLE_GEMFILE
158
- value: gemfiles/capistrano3.gemfile
159
- - name: _RUBYGEMS_VERSION
160
- value: 2.7.8
161
- - name: _BUNDLER_VERSION
162
- value: 1.17.3
163
- commands:
164
- - "./support/bundler_wrapper exec rake test"
165
- - "./support/bundler_wrapper exec rake test:failure"
166
- - name: Ruby 2.0.0-p648 for grape
167
- env_vars:
168
- - name: RUBY_VERSION
169
- value: 2.0.0-p648
170
- - name: GEMSET
171
- value: grape
172
- - name: BUNDLE_GEMFILE
173
- value: gemfiles/grape.gemfile
174
- - name: _RUBYGEMS_VERSION
175
- value: 2.7.8
176
- - name: _BUNDLER_VERSION
177
- value: 1.17.3
178
- commands:
179
- - "./support/bundler_wrapper exec rake test"
180
- - "./support/bundler_wrapper exec rake test:failure"
181
- - name: Ruby 2.0.0-p648 for que
182
- env_vars:
183
- - name: RUBY_VERSION
184
- value: 2.0.0-p648
185
- - name: GEMSET
186
- value: que
187
- - name: BUNDLE_GEMFILE
188
- value: gemfiles/que.gemfile
189
- - name: _RUBYGEMS_VERSION
190
- value: 2.7.8
191
- - name: _BUNDLER_VERSION
192
- value: 1.17.3
193
- commands:
194
- - "./support/bundler_wrapper exec rake test"
195
- - "./support/bundler_wrapper exec rake test:failure"
196
137
  - name: Ruby 2.0.0-p648 for rails-3.2
197
138
  env_vars:
198
139
  - name: RUBY_VERSION
@@ -223,81 +164,6 @@ blocks:
223
164
  commands:
224
165
  - "./support/bundler_wrapper exec rake test"
225
166
  - "./support/bundler_wrapper exec rake test:failure"
226
- - name: Ruby 2.0.0-p648 for resque-1
227
- env_vars:
228
- - name: RUBY_VERSION
229
- value: 2.0.0-p648
230
- - name: GEMSET
231
- value: resque-1
232
- - name: BUNDLE_GEMFILE
233
- value: gemfiles/resque-1.gemfile
234
- - name: _RUBYGEMS_VERSION
235
- value: 2.7.8
236
- - name: _BUNDLER_VERSION
237
- value: 1.17.3
238
- commands:
239
- - "./support/bundler_wrapper exec rake test"
240
- - "./support/bundler_wrapper exec rake test:failure"
241
- - name: Ruby 2.0.0-p648 for sequel
242
- env_vars:
243
- - name: RUBY_VERSION
244
- value: 2.0.0-p648
245
- - name: GEMSET
246
- value: sequel
247
- - name: BUNDLE_GEMFILE
248
- value: gemfiles/sequel.gemfile
249
- - name: _RUBYGEMS_VERSION
250
- value: 2.7.8
251
- - name: _BUNDLER_VERSION
252
- value: 1.17.3
253
- commands:
254
- - "./support/bundler_wrapper exec rake test"
255
- - "./support/bundler_wrapper exec rake test:failure"
256
- - name: Ruby 2.0.0-p648 for sequel-435
257
- env_vars:
258
- - name: RUBY_VERSION
259
- value: 2.0.0-p648
260
- - name: GEMSET
261
- value: sequel-435
262
- - name: BUNDLE_GEMFILE
263
- value: gemfiles/sequel-435.gemfile
264
- - name: _RUBYGEMS_VERSION
265
- value: 2.7.8
266
- - name: _BUNDLER_VERSION
267
- value: 1.17.3
268
- commands:
269
- - "./support/bundler_wrapper exec rake test"
270
- - "./support/bundler_wrapper exec rake test:failure"
271
- - name: Ruby 2.0.0-p648 for sinatra
272
- env_vars:
273
- - name: RUBY_VERSION
274
- value: 2.0.0-p648
275
- - name: GEMSET
276
- value: sinatra
277
- - name: BUNDLE_GEMFILE
278
- value: gemfiles/sinatra.gemfile
279
- - name: _RUBYGEMS_VERSION
280
- value: 2.7.8
281
- - name: _BUNDLER_VERSION
282
- value: 1.17.3
283
- commands:
284
- - "./support/bundler_wrapper exec rake test"
285
- - "./support/bundler_wrapper exec rake test:failure"
286
- - name: Ruby 2.0.0-p648 for webmachine
287
- env_vars:
288
- - name: RUBY_VERSION
289
- value: 2.0.0-p648
290
- - name: GEMSET
291
- value: webmachine
292
- - name: BUNDLE_GEMFILE
293
- value: gemfiles/webmachine.gemfile
294
- - name: _RUBYGEMS_VERSION
295
- value: 2.7.8
296
- - name: _BUNDLER_VERSION
297
- value: 1.17.3
298
- commands:
299
- - "./support/bundler_wrapper exec rake test"
300
- - "./support/bundler_wrapper exec rake test:failure"
301
167
  - name: Ruby 2.1.10
302
168
  dependencies:
303
169
  - Validation
@@ -993,7 +859,7 @@ blocks:
993
859
  commands:
994
860
  - "./support/bundler_wrapper exec rake test"
995
861
  - "./support/bundler_wrapper exec rake test:failure"
996
- - name: Ruby 3.0.0
862
+ - name: Ruby 3.0.1
997
863
  dependencies:
998
864
  - Validation
999
865
  task:
@@ -1001,10 +867,10 @@ blocks:
1001
867
  commands:
1002
868
  - "./support/bundler_wrapper exec rake extension:install"
1003
869
  jobs:
1004
- - name: Ruby 3.0.0 for no_dependencies
870
+ - name: Ruby 3.0.1 for no_dependencies
1005
871
  env_vars:
1006
872
  - name: RUBY_VERSION
1007
- value: 3.0.0
873
+ value: 3.0.1
1008
874
  - name: GEMSET
1009
875
  value: no_dependencies
1010
876
  - name: BUNDLE_GEMFILE
@@ -1016,18 +882,18 @@ blocks:
1016
882
  commands:
1017
883
  - "./support/bundler_wrapper exec rake test"
1018
884
  - "./support/bundler_wrapper exec rake test:failure"
1019
- - name: Ruby 3.0.0 - Gems
885
+ - name: Ruby 3.0.1 - Gems
1020
886
  dependencies:
1021
- - Ruby 3.0.0
887
+ - Ruby 3.0.1
1022
888
  task:
1023
889
  prologue:
1024
890
  commands:
1025
891
  - "./support/bundler_wrapper exec rake extension:install"
1026
892
  jobs:
1027
- - name: Ruby 3.0.0 for capistrano2
893
+ - name: Ruby 3.0.1 for capistrano2
1028
894
  env_vars:
1029
895
  - name: RUBY_VERSION
1030
- value: 3.0.0
896
+ value: 3.0.1
1031
897
  - name: GEMSET
1032
898
  value: capistrano2
1033
899
  - name: BUNDLE_GEMFILE
@@ -1039,10 +905,10 @@ blocks:
1039
905
  commands:
1040
906
  - "./support/bundler_wrapper exec rake test"
1041
907
  - "./support/bundler_wrapper exec rake test:failure"
1042
- - name: Ruby 3.0.0 for capistrano3
908
+ - name: Ruby 3.0.1 for capistrano3
1043
909
  env_vars:
1044
910
  - name: RUBY_VERSION
1045
- value: 3.0.0
911
+ value: 3.0.1
1046
912
  - name: GEMSET
1047
913
  value: capistrano3
1048
914
  - name: BUNDLE_GEMFILE
@@ -1054,10 +920,10 @@ blocks:
1054
920
  commands:
1055
921
  - "./support/bundler_wrapper exec rake test"
1056
922
  - "./support/bundler_wrapper exec rake test:failure"
1057
- - name: Ruby 3.0.0 for grape
923
+ - name: Ruby 3.0.1 for grape
1058
924
  env_vars:
1059
925
  - name: RUBY_VERSION
1060
- value: 3.0.0
926
+ value: 3.0.1
1061
927
  - name: GEMSET
1062
928
  value: grape
1063
929
  - name: BUNDLE_GEMFILE
@@ -1069,10 +935,10 @@ blocks:
1069
935
  commands:
1070
936
  - "./support/bundler_wrapper exec rake test"
1071
937
  - "./support/bundler_wrapper exec rake test:failure"
1072
- - name: Ruby 3.0.0 for padrino
938
+ - name: Ruby 3.0.1 for padrino
1073
939
  env_vars:
1074
940
  - name: RUBY_VERSION
1075
- value: 3.0.0
941
+ value: 3.0.1
1076
942
  - name: GEMSET
1077
943
  value: padrino
1078
944
  - name: BUNDLE_GEMFILE
@@ -1084,10 +950,10 @@ blocks:
1084
950
  commands:
1085
951
  - "./support/bundler_wrapper exec rake test"
1086
952
  - "./support/bundler_wrapper exec rake test:failure"
1087
- - name: Ruby 3.0.0 for que
953
+ - name: Ruby 3.0.1 for que
1088
954
  env_vars:
1089
955
  - name: RUBY_VERSION
1090
- value: 3.0.0
956
+ value: 3.0.1
1091
957
  - name: GEMSET
1092
958
  value: que
1093
959
  - name: BUNDLE_GEMFILE
@@ -1099,10 +965,10 @@ blocks:
1099
965
  commands:
1100
966
  - "./support/bundler_wrapper exec rake test"
1101
967
  - "./support/bundler_wrapper exec rake test:failure"
1102
- - name: Ruby 3.0.0 for que_beta
968
+ - name: Ruby 3.0.1 for que_beta
1103
969
  env_vars:
1104
970
  - name: RUBY_VERSION
1105
- value: 3.0.0
971
+ value: 3.0.1
1106
972
  - name: GEMSET
1107
973
  value: que_beta
1108
974
  - name: BUNDLE_GEMFILE
@@ -1114,10 +980,10 @@ blocks:
1114
980
  commands:
1115
981
  - "./support/bundler_wrapper exec rake test"
1116
982
  - "./support/bundler_wrapper exec rake test:failure"
1117
- - name: Ruby 3.0.0 for rails-6.0
983
+ - name: Ruby 3.0.1 for rails-6.0
1118
984
  env_vars:
1119
985
  - name: RUBY_VERSION
1120
- value: 3.0.0
986
+ value: 3.0.1
1121
987
  - name: GEMSET
1122
988
  value: rails-6.0
1123
989
  - name: BUNDLE_GEMFILE
@@ -1129,10 +995,10 @@ blocks:
1129
995
  commands:
1130
996
  - "./support/bundler_wrapper exec rake test"
1131
997
  - "./support/bundler_wrapper exec rake test:failure"
1132
- - name: Ruby 3.0.0 for resque-2
998
+ - name: Ruby 3.0.1 for resque-2
1133
999
  env_vars:
1134
1000
  - name: RUBY_VERSION
1135
- value: 3.0.0
1001
+ value: 3.0.1
1136
1002
  - name: GEMSET
1137
1003
  value: resque-2
1138
1004
  - name: BUNDLE_GEMFILE
@@ -1144,10 +1010,10 @@ blocks:
1144
1010
  commands:
1145
1011
  - "./support/bundler_wrapper exec rake test"
1146
1012
  - "./support/bundler_wrapper exec rake test:failure"
1147
- - name: Ruby 3.0.0 for sequel
1013
+ - name: Ruby 3.0.1 for sequel
1148
1014
  env_vars:
1149
1015
  - name: RUBY_VERSION
1150
- value: 3.0.0
1016
+ value: 3.0.1
1151
1017
  - name: GEMSET
1152
1018
  value: sequel
1153
1019
  - name: BUNDLE_GEMFILE
@@ -1159,10 +1025,10 @@ blocks:
1159
1025
  commands:
1160
1026
  - "./support/bundler_wrapper exec rake test"
1161
1027
  - "./support/bundler_wrapper exec rake test:failure"
1162
- - name: Ruby 3.0.0 for sinatra
1028
+ - name: Ruby 3.0.1 for sinatra
1163
1029
  env_vars:
1164
1030
  - name: RUBY_VERSION
1165
- value: 3.0.0
1031
+ value: 3.0.1
1166
1032
  - name: GEMSET
1167
1033
  value: sinatra
1168
1034
  - name: BUNDLE_GEMFILE
@@ -1174,10 +1040,10 @@ blocks:
1174
1040
  commands:
1175
1041
  - "./support/bundler_wrapper exec rake test"
1176
1042
  - "./support/bundler_wrapper exec rake test:failure"
1177
- - name: Ruby 3.0.0 for webmachine
1043
+ - name: Ruby 3.0.1 for webmachine
1178
1044
  env_vars:
1179
1045
  - name: RUBY_VERSION
1180
- value: 3.0.0
1046
+ value: 3.0.1
1181
1047
  - name: GEMSET
1182
1048
  value: webmachine
1183
1049
  - name: BUNDLE_GEMFILE
@@ -1189,7 +1055,7 @@ blocks:
1189
1055
  commands:
1190
1056
  - "./support/bundler_wrapper exec rake test"
1191
1057
  - "./support/bundler_wrapper exec rake test:failure"
1192
- - name: Ruby jruby-9.1.17.0
1058
+ - name: Ruby jruby-9.2.19.0
1193
1059
  dependencies:
1194
1060
  - Validation
1195
1061
  task:
@@ -1197,10 +1063,10 @@ blocks:
1197
1063
  commands:
1198
1064
  - "./support/bundler_wrapper exec rake extension:install"
1199
1065
  jobs:
1200
- - name: Ruby jruby-9.1.17.0 for no_dependencies
1066
+ - name: Ruby jruby-9.2.19.0 for no_dependencies
1201
1067
  env_vars:
1202
1068
  - name: RUBY_VERSION
1203
- value: jruby-9.1.17.0
1069
+ value: jruby-9.2.19.0
1204
1070
  - name: GEMSET
1205
1071
  value: no_dependencies
1206
1072
  - name: BUNDLE_GEMFILE
@@ -1209,21 +1075,24 @@ blocks:
1209
1075
  value: latest
1210
1076
  - name: _BUNDLER_VERSION
1211
1077
  value: latest
1078
+ - &1
1079
+ name: _C_VERSION
1080
+ value: '8'
1212
1081
  commands:
1213
1082
  - "./support/bundler_wrapper exec rake test"
1214
1083
  - "./support/bundler_wrapper exec rake test:failure"
1215
- - name: Ruby jruby-9.1.17.0 - Gems
1084
+ - name: Ruby jruby-9.2.19.0 - Gems
1216
1085
  dependencies:
1217
- - Ruby jruby-9.1.17.0
1086
+ - Ruby jruby-9.2.19.0
1218
1087
  task:
1219
1088
  prologue:
1220
1089
  commands:
1221
1090
  - "./support/bundler_wrapper exec rake extension:install"
1222
1091
  jobs:
1223
- - name: Ruby jruby-9.1.17.0 for rails-5.2
1092
+ - name: Ruby jruby-9.2.19.0 for rails-5.2
1224
1093
  env_vars:
1225
1094
  - name: RUBY_VERSION
1226
- value: jruby-9.1.17.0
1095
+ value: jruby-9.2.19.0
1227
1096
  - name: GEMSET
1228
1097
  value: rails-5.2
1229
1098
  - name: BUNDLE_GEMFILE
@@ -1232,6 +1101,23 @@ blocks:
1232
1101
  value: latest
1233
1102
  - name: _BUNDLER_VERSION
1234
1103
  value: latest
1104
+ - *1
1105
+ commands:
1106
+ - "./support/bundler_wrapper exec rake test"
1107
+ - "./support/bundler_wrapper exec rake test:failure"
1108
+ - name: Ruby jruby-9.2.19.0 for rails-6.0
1109
+ env_vars:
1110
+ - name: RUBY_VERSION
1111
+ value: jruby-9.2.19.0
1112
+ - name: GEMSET
1113
+ value: rails-6.0
1114
+ - name: BUNDLE_GEMFILE
1115
+ value: gemfiles/rails-6.0.gemfile
1116
+ - name: _RUBYGEMS_VERSION
1117
+ value: latest
1118
+ - name: _BUNDLER_VERSION
1119
+ value: latest
1120
+ - *1
1235
1121
  commands:
1236
1122
  - "./support/bundler_wrapper exec rake test"
1237
1123
  - "./support/bundler_wrapper exec rake test:failure"
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ # 2.11.10
4
+ - Backport extension fallbacks on extension installation failure, that caused
5
+ NoMethodErrors. PR #736
6
+
3
7
  # 2.11.9
4
8
  - Fix and simplify Ruby method delegation for object method instrumentation in
5
9
  the different Ruby versions. PR #706
data/Rakefile CHANGED
@@ -73,7 +73,7 @@ namespace :build_matrix do
73
73
 
74
74
  job = {
75
75
  "name" => "Ruby #{ruby_version} for #{gem["gem"]}",
76
- "env_vars" => env,
76
+ "env_vars" => env + ruby.fetch("env_vars", []),
77
77
  "commands" => [
78
78
  "./support/bundler_wrapper exec rake test",
79
79
  "./support/bundler_wrapper exec rake test:failure"
@@ -387,10 +387,20 @@ begin
387
387
  end
388
388
 
389
389
  namespace :test do
390
- desc "Run the Appsignal gem test in an extension failure scenario"
391
- RSpec::Core::RakeTask.new :failure do |t|
390
+ RSpec::Core::RakeTask.new :rspec_failure do |t|
392
391
  t.rspec_opts = "#{exclude_pattern} --tag extension_installation_failure"
393
392
  end
393
+
394
+ desc "Intentionally fail the extension installation"
395
+ task :prepare_failure do
396
+ # ENV var to make sure installation fails on purpurse
397
+ ENV["_TEST_APPSIGNAL_EXTENSION_FAILURE"] = "true"
398
+ # Run extension installation with intentional failure
399
+ `rake extension:install`
400
+ end
401
+
402
+ desc "Run the Appsignal gem test in an extension failure scenario"
403
+ task :failure => [:prepare_failure, :rspec_failure]
394
404
  end
395
405
  rescue LoadError # rubocop:disable Lint/HandleExceptions
396
406
  # When running rake install, there is no RSpec yet.
data/appsignal.gemspec CHANGED
@@ -42,9 +42,31 @@ Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
42
42
  gem.add_development_dependency "timecop"
43
43
  gem.add_development_dependency "webmock"
44
44
  gem.add_development_dependency "yard", ">= 0.9.20"
45
- is_modern_ruby = Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.0.0")
46
- if is_modern_ruby
45
+
46
+ ruby_version = Gem::Version.new(RUBY_VERSION)
47
+ if ruby_version >= Gem::Version.new("2.0.0")
47
48
  gem.add_development_dependency "pry"
48
49
  gem.add_development_dependency "rubocop", "0.50.0"
49
50
  end
51
+
52
+ # Dependencies that need to be locked to a specific version in developement
53
+ if ruby_version < Gem::Version.new("2.0.0")
54
+ # The rexml gem use keyword arguments with optional arguments which
55
+ # work in Ruby 2.1 and newer. Lock crack to a version without rexml.
56
+ gem.add_development_dependency "crack", "0.4.4"
57
+ elsif ruby_version < Gem::Version.new("2.1.0")
58
+ # The rexml gem use keyword arguments with optional arguments which
59
+ # work in Ruby 2.1 and newer.
60
+ gem.add_development_dependency "rexml", "3.2.4"
61
+ end
62
+ if ruby_version < Gem::Version.new("2.0.0")
63
+ # public_suffix 2.0 and newer don't support Ruby < 2.0
64
+ gem.add_development_dependency "public_suffix", "~> 1.4.6"
65
+ elsif ruby_version < Gem::Version.new("2.1.0")
66
+ # public_suffix 3.0 and newer don't support Ruby < 2.1
67
+ gem.add_development_dependency "public_suffix", "~> 2.0.5"
68
+ elsif ruby_version < Gem::Version.new("2.3.0")
69
+ # public_suffix 4.0 and newer don't support Ruby < 2.3
70
+ gem.add_development_dependency "public_suffix", "~> 3.1.1"
71
+ end
50
72
  end
data/build_matrix.yml CHANGED
@@ -33,6 +33,7 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
33
33
  commands:
34
34
  - checkout
35
35
  - rm -f $HOME/.rbenv/plugins/rbenv-gem-rehash/etc/rbenv.d/exec/~gem-rehash.bash
36
+ - "if [ -n \"$_C_VERSION\" ]; then sem-version c $_C_VERSION; fi"
36
37
  - sem-version ruby $RUBY_VERSION
37
38
  - ./support/check_versions
38
39
  - cache restore $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE)
@@ -88,6 +89,10 @@ matrix:
88
89
  gemsets: # By default all gems are tested
89
90
  none:
90
91
  - "no_dependencies"
92
+ old_rails:
93
+ - "no_dependencies"
94
+ - "rails-3.2"
95
+ - "rails-4.2"
91
96
  minimal:
92
97
  - "no_dependencies"
93
98
  - "rails-5.2"
@@ -101,6 +106,7 @@ matrix:
101
106
  - ruby: "2.0.0-p648"
102
107
  rubygems: "2.7.8"
103
108
  bundler: "1.17.3"
109
+ gems: "old_rails"
104
110
  - ruby: "2.1.10"
105
111
  rubygems: "2.7.8"
106
112
  bundler: "1.17.3"
@@ -117,74 +123,66 @@ matrix:
117
123
  gems: "minimal"
118
124
  - ruby: "2.6.5"
119
125
  - ruby: "2.7.1"
120
- - ruby: "3.0.0"
121
- - ruby: "jruby-9.1.17.0"
126
+ - ruby: "3.0.1"
127
+ - ruby: "jruby-9.2.19.0"
122
128
  gems: "minimal"
129
+ env_vars:
130
+ - name: "_C_VERSION"
131
+ value: "8"
123
132
  gems:
124
133
  - gem: "no_dependencies"
125
134
  - gem: "capistrano2"
126
135
  - gem: "capistrano3"
127
136
  - gem: "grape"
128
137
  - gem: "padrino"
129
- exclude:
130
- ruby:
131
- - "2.0.0-p648"
132
138
  - gem: "que"
133
139
  - gem: "que_beta"
134
- exclude:
135
- ruby:
136
- - "2.0.0-p648"
137
140
  - gem: "rails-3.2"
138
141
  bundler: "1.17.3"
139
142
  exclude:
140
143
  ruby:
141
144
  - "2.6.5"
142
145
  - "2.7.1"
143
- - "3.0.0"
146
+ - "3.0.1"
144
147
  - gem: "rails-4.2"
145
148
  bundler: "1.17.3"
146
149
  exclude:
147
150
  ruby:
148
151
  - "2.6.5"
149
152
  - "2.7.1"
150
- - "3.0.0"
153
+ - "3.0.1"
151
154
  - gem: "rails-5.0"
152
155
  exclude:
153
156
  ruby:
154
157
  - "2.0.0-p648"
155
- - "3.0.0"
158
+ - "3.0.1"
156
159
  - gem: "rails-5.1"
157
160
  exclude:
158
161
  ruby:
159
162
  - "2.0.0-p648"
160
- - "3.0.0"
163
+ - "3.0.1"
161
164
  - gem: "rails-5.2"
162
165
  exclude:
163
166
  ruby:
164
167
  - "2.0.0-p648"
165
- - "3.0.0"
168
+ - "3.0.1"
166
169
  - gem: "rails-6.0"
167
170
  exclude:
168
171
  ruby:
169
- - "2.0.0-p648"
170
172
  - "2.1.10"
171
173
  - "2.2.10"
172
174
  - "2.3.8"
173
175
  - "2.4.9"
174
- - "jruby-9.1.17.0"
175
176
  - gem: "resque-1"
176
177
  bundler: "1.17.3"
177
178
  exclude:
178
179
  ruby:
179
- - "3.0.0"
180
+ - "3.0.1"
180
181
  - gem: "resque-2"
181
- exclude:
182
- ruby:
183
- - "2.0.0-p648"
184
182
  - gem: "sequel"
185
183
  - gem: "sequel-435"
186
184
  exclude:
187
185
  ruby:
188
- - "3.0.0"
186
+ - "3.0.1"
189
187
  - gem: "sinatra"
190
188
  - gem: "webmachine"
@@ -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,6 +1,9 @@
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
  ruby_version = Gem::Version.new(RUBY_VERSION)
6
9
  if ruby_version < Gem::Version.new("2.0.0")
@@ -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 => '../'
@@ -4,7 +4,3 @@ gem 'resque', "~> 2.0"
4
4
  gem 'sinatra'
5
5
 
6
6
  gemspec :path => '../'
7
-
8
- if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.1.0")
9
- gem 'nokogiri', '~> 1.6.0'
10
- end
@@ -6,6 +6,5 @@ if RUBY_PLATFORM == "java"
6
6
  else
7
7
  gem 'sqlite3'
8
8
  end
9
- gem 'rack', '~> 1.6'
10
9
 
11
10
  gemspec :path => '../'
@@ -6,6 +6,5 @@ if RUBY_PLATFORM == "java"
6
6
  else
7
7
  gem 'sqlite3'
8
8
  end
9
- gem 'rack', '~> 1.6'
10
9
 
11
10
  gemspec :path => '../'
@@ -1,6 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'sinatra'
4
- gem 'rack', '~> 1.6'
5
4
 
6
5
  gemspec :path => '../'
@@ -40,6 +40,16 @@ module Appsignal
40
40
  def method_missing(m, *args, &block)
41
41
  super if Appsignal.testing?
42
42
  end
43
+
44
+ unless Appsignal.extension_loaded?
45
+ def data_map_new
46
+ Appsignal::Extension::MockData.new
47
+ end
48
+
49
+ def data_array_new
50
+ Appsignal::Extension::MockData.new
51
+ end
52
+ end
43
53
  end
44
54
 
45
55
  if Appsignal::System.jruby?
@@ -62,5 +72,45 @@ module Appsignal
62
72
  "#<#{self.class.name}:#{object_id} #{self}>"
63
73
  end
64
74
  end
75
+
76
+ # Mock of the {Data} class. This mock is used when the extension cannot be
77
+ # loaded. This mock listens to all method calls and does nothing, and
78
+ # prevents NoMethodErrors from being raised.
79
+ #
80
+ # Disabled in testing so we can make sure that we don't miss an extension
81
+ # function implementation.
82
+ #
83
+ # This class inherits from the {Data} class so that it passes type checks.
84
+ class MockData < Data
85
+ def initialize(*_args)
86
+ # JRuby extension requirement, as it sends a pointer to the Data object
87
+ # when creating it
88
+ end
89
+
90
+ def method_missing(_method, *_args, &_block)
91
+ super if Appsignal.testing?
92
+ end
93
+
94
+ def to_s
95
+ "{}"
96
+ end
97
+ end
98
+
99
+ # Mock of the {Transaction} class. This mock is used when the extension
100
+ # cannot be loaded. This mock listens to all method calls and does nothing,
101
+ # and prevents NoMethodErrors from being raised.
102
+ #
103
+ # Disabled in testing so we can make sure that we don't miss an extension
104
+ # function implementation.
105
+ class MockTransaction
106
+ def initialize(*_args)
107
+ # JRuby extension requirement, as it sends a pointer to the Transaction
108
+ # object when creating it
109
+ end
110
+
111
+ def method_missing(_method, *_args, &_block)
112
+ super if Appsignal.testing?
113
+ end
114
+ end
65
115
  end
66
116
  end
@@ -90,7 +90,7 @@ module Appsignal
90
90
  @transaction_id,
91
91
  @namespace,
92
92
  self.class.garbage_collection_profiler.total_time
93
- )
93
+ ) || Appsignal::Extension::MockTransaction.new
94
94
  end
95
95
 
96
96
  def nil_transaction?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Appsignal
4
- VERSION = "2.11.9".freeze
4
+ VERSION = "2.11.10".freeze
5
5
  end
@@ -1,13 +1,6 @@
1
1
  describe Appsignal::Extension, :extension_installation_failure do
2
2
  context "when the extension library cannot be loaded" do
3
- # This test breaks the installation on purpose and is not run by default.
4
- # See `rake test:failure`. If this test was run, run `rake
5
- # extension:install` again to fix the extension installation.
6
3
  it "prints and logs an error" do
7
- # ENV var to make sure installation fails on purpurse
8
- ENV["_TEST_APPSIGNAL_EXTENSION_FAILURE"] = "true"
9
- `rake extension:install` # Run installation
10
-
11
4
  require "open3"
12
5
  _stdout, stderr, _status = Open3.capture3("bin/appsignal --version")
13
6
  expect(stderr).to include("ERROR: AppSignal failed to load extension")
@@ -119,22 +119,56 @@ describe Appsignal::Extension do
119
119
  end
120
120
  end
121
121
 
122
- context "when the extension library cannot be loaded" do
123
- subject { Appsignal::Extension }
122
+ context "when the extension library cannot be loaded", :extension_installation_failure do
123
+ let(:ext) { Appsignal::Extension }
124
124
 
125
- before do
126
- allow(Appsignal).to receive(:extension_loaded).and_return(false)
127
- allow(Appsignal).to receive(:testing?).and_return(false)
125
+ around do |example|
126
+ Appsignal::Testing.without_testing { example.run }
128
127
  end
129
128
 
130
129
  it "should indicate that the extension is not loaded" do
131
130
  expect(Appsignal.extension_loaded?).to be_falsy
132
131
  end
133
132
 
134
- it "should not raise errors when methods are called" do
135
- expect do
136
- subject.something
137
- end.not_to raise_error
133
+ it "does not raise errors when methods are called" do
134
+ ext.appsignal_start
135
+ ext.something
136
+ end
137
+
138
+ describe Appsignal::Extension::MockData do
139
+ it "does not error on missing data_map_new extension method calls" do
140
+ map = ext.data_map_new
141
+ expect(map).to be_kind_of(Appsignal::Extension::MockData)
142
+ # Does not raise errors any arbitrary method call that does not exist
143
+ map.set_string("key", "value")
144
+ map.set_int("key", 123)
145
+ map.something
146
+ end
147
+
148
+ it "does not error on missing data_array_new extension method calls" do
149
+ array = ext.data_array_new
150
+ expect(array).to be_kind_of(Appsignal::Extension::MockData)
151
+ # Does not raise errors any arbitrary method call that does not exist
152
+ array.append_string("value")
153
+ array.append_int(123)
154
+ array.something
155
+ end
156
+ end
157
+
158
+ describe Appsignal::Extension::MockTransaction do
159
+ it "does not error on missing transaction extension method calls" do
160
+ transaction = described_class.new
161
+
162
+ transaction.start_event(0)
163
+ transaction.finish_event(
164
+ "name",
165
+ "title",
166
+ "body",
167
+ Appsignal::EventFormatter::DEFAULT,
168
+ 0
169
+ )
170
+ transaction.something
171
+ end
138
172
  end
139
173
  end
140
174
  end
@@ -246,6 +246,23 @@ describe Appsignal::Transaction do
246
246
  expect(transaction.ext).to_not be_nil
247
247
  end
248
248
 
249
+ context "when extension is not loaded", :extension_installation_failure do
250
+ around do |example|
251
+ Appsignal::Testing.without_testing { example.run }
252
+ end
253
+
254
+ it "does not error on missing extension method calls" do
255
+ expect(transaction.ext).to be_kind_of(Appsignal::Extension::MockTransaction)
256
+ transaction.start_event
257
+ transaction.finish_event(
258
+ "name",
259
+ "title",
260
+ "body",
261
+ Appsignal::EventFormatter::DEFAULT
262
+ )
263
+ end
264
+ end
265
+
249
266
  it "sets the transaction id" do
250
267
  expect(transaction.transaction_id).to eq "1"
251
268
  end
@@ -4,110 +4,156 @@ describe Appsignal::Utils::Data do
4
4
  describe ".generate" do
5
5
  subject { Appsignal::Utils::Data.generate(body) }
6
6
 
7
- context "with a valid hash body" do
8
- let(:body) do
9
- {
10
- "the" => "payload",
11
- "int" => 1, # Fixnum
12
- "int61" => 1 << 61, # Fixnum
13
- "int62" => 1 << 62, # Bignum, this one still works
14
- "int63" => 1 << 63, # Bignum, turnover point for C, too big for long
15
- "int64" => 1 << 64, # Bignum
16
- "float" => 1.0,
17
- 1 => true,
18
- nil => "test",
19
- :foo => [1, 2, "three", { "foo" => "bar" }],
20
- "bar" => nil,
21
- "baz" => { "foo" => "bʊr", "arr" => [1, 2] }
22
- }
7
+ context "when extension is not loaded", :extension_installation_failure do
8
+ around do |example|
9
+ Appsignal::Testing.without_testing { example.run }
23
10
  end
24
11
 
25
- it { is_expected.to eq Appsignal::Utils::Data.generate(body) }
26
- it { is_expected.to_not eq Appsignal::Utils::Data.generate({}) }
27
-
28
- describe "#to_s" do
29
- it "returns a serialized hash" do
30
- expect(subject.to_s).to eq %({"":"test",) +
31
- %("1":true,) +
32
- %("bar":null,) +
33
- %("baz":{"arr":[1,2],"foo":"bʊr"},) +
34
- %("float":1.0,) +
35
- %("foo":[1,2,"three",{"foo":"bar"}],) +
36
- %("int":1,) +
37
- %("int61":#{1 << 61},) +
38
- %("int62":#{1 << 62},) +
39
- %("int63":"bigint:#{1 << 63}",) +
40
- %("int64":"bigint:#{1 << 64}",) +
41
- %("the":"payload"})
12
+ context "with valid hash body" do
13
+ let(:body) { hash_body }
14
+
15
+ it "does not error and returns MockData class" do
16
+ expect(subject).to be_kind_of(Appsignal::Extension::MockData)
17
+ expect(subject.to_s).to eql("{}")
42
18
  end
43
19
  end
44
- end
45
20
 
46
- context "with a valid array body" do
47
- let(:body) do
48
- [
49
- nil,
50
- true,
51
- false,
52
- "string",
53
- 1, # Fixnum
54
- 1.0, # Float
55
- 1 << 61, # Fixnum
56
- 1 << 62, # Bignum, this one still works
57
- 1 << 63, # Bignum, turnover point for C, too big for long
58
- 1 << 64, # Bignum
59
- { "arr" => [1, 2, "three"], "foo" => "bʊr" }
60
- ]
21
+ context "with valid array body" do
22
+ let(:body) { array_body }
23
+
24
+ it "does not error and returns MockData class" do
25
+ expect(subject).to be_kind_of(Appsignal::Extension::MockData)
26
+ expect(subject.to_s).to eql("{}")
27
+ end
61
28
  end
62
29
 
63
- it { is_expected.to eq Appsignal::Utils::Data.generate(body) }
64
- it { is_expected.to_not eq Appsignal::Utils::Data.generate({}) }
65
-
66
- describe "#to_s" do
67
- it "returns a serialized array" do
68
- expect(subject.to_s).to eq %([null,) +
69
- %(true,) +
70
- %(false,) +
71
- %(\"string\",) +
72
- %(1,) +
73
- %(1.0,) +
74
- %(#{1 << 61},) +
75
- %(#{1 << 62},) +
76
- %("bigint:#{1 << 63}",) +
77
- %("bigint:#{1 << 64}",) +
78
- %({\"arr\":[1,2,\"three\"],\"foo\":\"bʊr\"}])
30
+ context "with an invalid body" do
31
+ let(:body) { "body" }
32
+
33
+ it "raise a type error" do
34
+ expect do
35
+ subject
36
+ end.to raise_error TypeError
79
37
  end
80
38
  end
81
39
  end
82
40
 
83
- context "with a body that contains strings with invalid utf-8 content" do
84
- let(:string_with_invalid_utf8) { [0x61, 0x61, 0x85].pack("c*") }
85
- let(:body) do
86
- {
87
- "field_one" => [0x61, 0x61].pack("c*"),
88
- :field_two => string_with_invalid_utf8,
89
- "field_three" => [
90
- "one", string_with_invalid_utf8
91
- ],
92
- "field_four" => {
93
- "one" => string_with_invalid_utf8
94
- }
95
- }
41
+ context "when extension is loaded" do
42
+ context "with a valid hash body" do
43
+ let(:body) { hash_body }
44
+
45
+ it "returns a valid Data object" do
46
+ is_expected.to eq Appsignal::Utils::Data.generate(body)
47
+ is_expected.to_not eq Appsignal::Utils::Data.generate({})
48
+ end
49
+
50
+ describe "#to_s" do
51
+ it "returns a serialized hash" do
52
+ expect(subject.to_s).to eq %({"":"test",) +
53
+ %("1":true,) +
54
+ %("bar":null,) +
55
+ %("baz":{"arr":[1,2],"foo":"bʊr"},) +
56
+ %("float":1.0,) +
57
+ %("foo":[1,2,"three",{"foo":"bar"}],) +
58
+ %("int":1,) +
59
+ %("int61":#{1 << 61},) +
60
+ %("int62":#{1 << 62},) +
61
+ %("int63":"bigint:#{1 << 63}",) +
62
+ %("int64":"bigint:#{1 << 64}",) +
63
+ %("the":"payload"})
64
+ end
65
+ end
66
+ end
67
+
68
+ context "with a valid array body" do
69
+ let(:body) { array_body }
70
+
71
+ it "returns a valid Data object" do
72
+ is_expected.to eq Appsignal::Utils::Data.generate(body)
73
+ is_expected.to_not eq Appsignal::Utils::Data.generate({})
74
+ end
75
+
76
+ describe "#to_s" do
77
+ it "returns a serialized array" do
78
+ expect(subject.to_s).to eq %([null,) +
79
+ %(true,) +
80
+ %(false,) +
81
+ %(\"string\",) +
82
+ %(1,) +
83
+ %(1.0,) +
84
+ %(#{1 << 61},) +
85
+ %(#{1 << 62},) +
86
+ %("bigint:#{1 << 63}",) +
87
+ %("bigint:#{1 << 64}",) +
88
+ %({\"arr\":[1,2,\"three\"],\"foo\":\"bʊr\"}])
89
+ end
90
+ end
96
91
  end
97
92
 
98
- describe "#to_s" do
99
- it { expect(subject.to_s).to eq %({"field_four":{"one":"aa�"},"field_one":"aa","field_three":["one","aa�"],"field_two":"aa�"}) }
93
+ context "with a body that contains strings with invalid utf-8 content" do
94
+ let(:string_with_invalid_utf8) { [0x61, 0x61, 0x85].pack("c*") }
95
+ let(:body) do
96
+ {
97
+ "field_one" => [0x61, 0x61].pack("c*"),
98
+ :field_two => string_with_invalid_utf8,
99
+ "field_three" => [
100
+ "one", string_with_invalid_utf8
101
+ ],
102
+ "field_four" => {
103
+ "one" => string_with_invalid_utf8
104
+ }
105
+ }
106
+ end
107
+
108
+ describe "#to_s" do
109
+ it "returns a JSON representation in a String" do
110
+ expect(subject.to_s).to eq %({"field_four":{"one":"aa�"},"field_one":"aa","field_three":["one","aa�"],"field_two":"aa�"})
111
+ end
112
+ end
100
113
  end
101
- end
102
114
 
103
- context "with an invalid body" do
104
- let(:body) { "body" }
115
+ context "with an invalid body" do
116
+ let(:body) { "body" }
105
117
 
106
- it "should raise a type error" do
107
- expect do
108
- subject
109
- end.to raise_error TypeError
118
+ it "raises a type error" do
119
+ expect do
120
+ subject
121
+ end.to raise_error TypeError
122
+ end
110
123
  end
111
124
  end
112
125
  end
126
+
127
+ def hash_body
128
+ {
129
+ "the" => "payload",
130
+ "int" => 1, # Fixnum
131
+ "int61" => 1 << 61, # Fixnum
132
+ "int62" => 1 << 62, # Bignum, this one still works
133
+ "int63" => 1 << 63, # Bignum, turnover point for C, too big for long
134
+ "int64" => 1 << 64, # Bignum
135
+ "float" => 1.0,
136
+ 1 => true,
137
+ nil => "test",
138
+ :foo => [1, 2, "three", { "foo" => "bar" }],
139
+ "bar" => nil,
140
+ "baz" => { "foo" => "bʊr", "arr" => [1, 2] }
141
+ }
142
+ end
143
+
144
+ def array_body
145
+ [
146
+ nil,
147
+ true,
148
+ false,
149
+ "string",
150
+ 1, # Fixnum
151
+ 1.0, # Float
152
+ 1 << 61, # Fixnum
153
+ 1 << 62, # Bignum, this one still works
154
+ 1 << 63, # Bignum, turnover point for C, too big for long
155
+ 1 << 64, # Bignum
156
+ { "arr" => [1, 2, "three"], "foo" => "bʊr" }
157
+ ]
158
+ end
113
159
  end
data/spec/spec_helper.rb CHANGED
@@ -131,6 +131,28 @@ RSpec.configure do |config|
131
131
  allow(Appsignal::Config).to receive(:system_tmp_dir).and_return(spec_system_tmp_dir)
132
132
  end
133
133
 
134
+ # These tests are not run by default. They require a failed extension
135
+ # installation. See the `rake test:failure` task. If a test with this tag was
136
+ # run, run `rake extension:install` again to fix the extension installation
137
+ # before running other tests.
138
+ config.before :extension_installation_failure => true do
139
+ next unless Appsignal.extension_loaded?
140
+
141
+ raise "Extension is loaded, please run the following task and rerun the test." \
142
+ "\n\n rake test:prepare_failure"
143
+ end
144
+
145
+ # Check to see if the extension is loaded before running the specs. If the
146
+ # extension is not loaded it can result in unexpected behavior.
147
+ config.before do |example|
148
+ next if Appsignal.extension_loaded?
149
+ next if example.metadata[:extension_installation_failure]
150
+
151
+ puts "\nWARNING: The AppSignal extension is not loaded, please run the "\
152
+ "following task and rerun the test." \
153
+ "\n\n rake extension:install\n"
154
+ end
155
+
134
156
  config.after do
135
157
  Appsignal::Testing.clear!
136
158
  clear_current_transaction!
@@ -1,16 +1,26 @@
1
1
  module Appsignal
2
2
  class << self
3
+ attr_writer :testing
3
4
  remove_method :testing?
4
5
 
5
6
  # @api private
6
7
  def testing?
7
- true
8
+ @testing = true unless defined?(@testing)
9
+ @testing
8
10
  end
9
11
  end
10
12
 
11
13
  # @api private
12
14
  module Testing
13
15
  class << self
16
+ def without_testing
17
+ original_testing = Appsignal.testing?
18
+ Appsignal.testing = false
19
+ yield
20
+ ensure
21
+ Appsignal.testing = original_testing
22
+ end
23
+
14
24
  def transactions
15
25
  @transactions ||= []
16
26
  end
data/support/install_deps CHANGED
@@ -9,18 +9,22 @@ fi
9
9
 
10
10
  case "${_RUBYGEMS_VERSION-"latest"}" in
11
11
  "latest")
12
+ echo "Updating rubygems"
12
13
  gem update $gem_args --system
13
14
  ;;
14
15
  *)
16
+ echo "Updating rubygems to $_RUBYGEMS_VERSION}"
15
17
  gem update $gem_args --system $_RUBYGEMS_VERSION
16
18
  ;;
17
19
  esac
18
20
 
19
21
  case "${_BUNDLER_VERSION-"latest"}" in
20
22
  "latest")
23
+ echo "Updating bundler"
21
24
  gem update bundler $gem_args
22
25
  ;;
23
26
  *)
27
+ echo "Updating bundler to $_BUNDLER_VERSION"
24
28
  gem install bundler $gem_args --version $_BUNDLER_VERSION
25
29
  ;;
26
30
  esac
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.9
4
+ version: 2.11.10
5
5
  platform: java
6
6
  authors:
7
7
  - Robert Beekman
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-02-23 00:00:00.000000000 Z
13
+ date: 2021-07-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
@@ -432,7 +432,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
432
432
  - !ruby/object:Gem::Version
433
433
  version: '0'
434
434
  requirements: []
435
- rubygems_version: 3.2.8
435
+ rubygems_version: 3.2.17
436
436
  signing_key:
437
437
  specification_version: 4
438
438
  summary: Logs performance and exception data from your app to appsignal.com