appsignal 4.0.6-java → 4.0.8-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.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/Rakefile +9 -9
  4. data/appsignal.gemspec +22 -1
  5. data/ext/agent.rb +27 -27
  6. data/lib/appsignal/check_in.rb +1 -1
  7. data/lib/appsignal/config.rb +1 -3
  8. data/lib/appsignal/integrations/resque.rb +1 -6
  9. data/lib/appsignal/utils/hash_sanitizer.rb +4 -0
  10. data/lib/appsignal/version.rb +1 -1
  11. data/lib/appsignal.rb +10 -8
  12. metadata +2 -192
  13. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -31
  14. data/.github/ISSUE_TEMPLATE/chore.md +0 -14
  15. data/.github/workflows/ci.yml +0 -3285
  16. data/.github/workflows/create_release_from_tag.yml +0 -62
  17. data/.gitignore +0 -35
  18. data/.gitmodules +0 -3
  19. data/.rspec +0 -4
  20. data/.yardopts +0 -8
  21. data/benchmark.rake +0 -139
  22. data/gemfiles/capistrano2.gemfile +0 -6
  23. data/gemfiles/capistrano3.gemfile +0 -7
  24. data/gemfiles/dry-monitor.gemfile +0 -5
  25. data/gemfiles/grape.gemfile +0 -5
  26. data/gemfiles/hanami-2.0.gemfile +0 -7
  27. data/gemfiles/hanami-2.1.gemfile +0 -7
  28. data/gemfiles/http5.gemfile +0 -5
  29. data/gemfiles/no_dependencies.gemfile +0 -10
  30. data/gemfiles/padrino.gemfile +0 -7
  31. data/gemfiles/psych-3.gemfile +0 -5
  32. data/gemfiles/psych-4.gemfile +0 -5
  33. data/gemfiles/que-1.gemfile +0 -5
  34. data/gemfiles/que-2.gemfile +0 -5
  35. data/gemfiles/rails-6.0.gemfile +0 -10
  36. data/gemfiles/rails-6.1.gemfile +0 -11
  37. data/gemfiles/rails-7.0.gemfile +0 -11
  38. data/gemfiles/rails-7.1.gemfile +0 -11
  39. data/gemfiles/rails-7.2.gemfile +0 -11
  40. data/gemfiles/redis-4.gemfile +0 -5
  41. data/gemfiles/redis-5.gemfile +0 -6
  42. data/gemfiles/resque-2.gemfile +0 -6
  43. data/gemfiles/sequel.gemfile +0 -10
  44. data/gemfiles/sinatra.gemfile +0 -5
  45. data/gemfiles/webmachine1.gemfile +0 -7
  46. data/gemfiles/webmachine2.gemfile +0 -6
  47. data/mono.yml +0 -16
  48. data/spec/.rubocop.yml +0 -7
  49. data/spec/lib/appsignal/auth_check_spec.rb +0 -84
  50. data/spec/lib/appsignal/capistrano2_spec.rb +0 -227
  51. data/spec/lib/appsignal/capistrano3_spec.rb +0 -284
  52. data/spec/lib/appsignal/check_in/cron_spec.rb +0 -210
  53. data/spec/lib/appsignal/check_in/scheduler_spec.rb +0 -557
  54. data/spec/lib/appsignal/cli/demo_spec.rb +0 -46
  55. data/spec/lib/appsignal/cli/diagnose/paths_spec.rb +0 -16
  56. data/spec/lib/appsignal/cli/diagnose/utils_spec.rb +0 -86
  57. data/spec/lib/appsignal/cli/diagnose_spec.rb +0 -1553
  58. data/spec/lib/appsignal/cli/helpers_spec.rb +0 -179
  59. data/spec/lib/appsignal/cli/install_spec.rb +0 -848
  60. data/spec/lib/appsignal/cli_spec.rb +0 -56
  61. data/spec/lib/appsignal/config_spec.rb +0 -1380
  62. data/spec/lib/appsignal/demo_spec.rb +0 -83
  63. data/spec/lib/appsignal/environment_spec.rb +0 -190
  64. data/spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb +0 -60
  65. data/spec/lib/appsignal/event_formatter/active_record/instantiation_formatter_spec.rb +0 -21
  66. data/spec/lib/appsignal/event_formatter/active_record/sql_formatter_spec.rb +0 -21
  67. data/spec/lib/appsignal/event_formatter/elastic_search/search_formatter_spec.rb +0 -52
  68. data/spec/lib/appsignal/event_formatter/faraday/request_formatter_spec.rb +0 -21
  69. data/spec/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter_spec.rb +0 -84
  70. data/spec/lib/appsignal/event_formatter/rom/sql_formatter_spec.rb +0 -22
  71. data/spec/lib/appsignal/event_formatter/sequel/sql_formatter_spec.rb +0 -30
  72. data/spec/lib/appsignal/event_formatter/view_component/render_formatter_spec.rb +0 -41
  73. data/spec/lib/appsignal/event_formatter_spec.rb +0 -193
  74. data/spec/lib/appsignal/extension/jruby_spec.rb +0 -46
  75. data/spec/lib/appsignal/extension_install_failure_spec.rb +0 -20
  76. data/spec/lib/appsignal/extension_spec.rb +0 -178
  77. data/spec/lib/appsignal/garbage_collection_spec.rb +0 -98
  78. data/spec/lib/appsignal/hooks/action_cable_spec.rb +0 -345
  79. data/spec/lib/appsignal/hooks/action_mailer_spec.rb +0 -55
  80. data/spec/lib/appsignal/hooks/active_support_notifications/finish_with_state_shared_examples.rb +0 -23
  81. data/spec/lib/appsignal/hooks/active_support_notifications/instrument_shared_examples.rb +0 -99
  82. data/spec/lib/appsignal/hooks/active_support_notifications/start_finish_shared_examples.rb +0 -47
  83. data/spec/lib/appsignal/hooks/active_support_notifications_spec.rb +0 -47
  84. data/spec/lib/appsignal/hooks/activejob_spec.rb +0 -650
  85. data/spec/lib/appsignal/hooks/at_exit_spec.rb +0 -105
  86. data/spec/lib/appsignal/hooks/celluloid_spec.rb +0 -40
  87. data/spec/lib/appsignal/hooks/data_mapper_spec.rb +0 -40
  88. data/spec/lib/appsignal/hooks/delayed_job_spec.rb +0 -38
  89. data/spec/lib/appsignal/hooks/dry_monitor_spec.rb +0 -83
  90. data/spec/lib/appsignal/hooks/excon_spec.rb +0 -67
  91. data/spec/lib/appsignal/hooks/gvl_spec.rb +0 -145
  92. data/spec/lib/appsignal/hooks/http_spec.rb +0 -37
  93. data/spec/lib/appsignal/hooks/mongo_ruby_driver_spec.rb +0 -46
  94. data/spec/lib/appsignal/hooks/mri_spec.rb +0 -23
  95. data/spec/lib/appsignal/hooks/net_http_spec.rb +0 -18
  96. data/spec/lib/appsignal/hooks/passenger_spec.rb +0 -30
  97. data/spec/lib/appsignal/hooks/puma_spec.rb +0 -80
  98. data/spec/lib/appsignal/hooks/que_spec.rb +0 -19
  99. data/spec/lib/appsignal/hooks/rake_spec.rb +0 -144
  100. data/spec/lib/appsignal/hooks/redis_client_spec.rb +0 -218
  101. data/spec/lib/appsignal/hooks/redis_spec.rb +0 -124
  102. data/spec/lib/appsignal/hooks/resque_spec.rb +0 -27
  103. data/spec/lib/appsignal/hooks/sequel_spec.rb +0 -44
  104. data/spec/lib/appsignal/hooks/shoryuken_spec.rb +0 -29
  105. data/spec/lib/appsignal/hooks/sidekiq_spec.rb +0 -115
  106. data/spec/lib/appsignal/hooks/unicorn_spec.rb +0 -63
  107. data/spec/lib/appsignal/hooks/webmachine_spec.rb +0 -24
  108. data/spec/lib/appsignal/hooks_spec.rb +0 -124
  109. data/spec/lib/appsignal/integrations/data_mapper_spec.rb +0 -74
  110. data/spec/lib/appsignal/integrations/delayed_job_plugin_spec.rb +0 -454
  111. data/spec/lib/appsignal/integrations/http_spec.rb +0 -111
  112. data/spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb +0 -154
  113. data/spec/lib/appsignal/integrations/net_http_spec.rb +0 -33
  114. data/spec/lib/appsignal/integrations/object_spec.rb +0 -347
  115. data/spec/lib/appsignal/integrations/puma_spec.rb +0 -150
  116. data/spec/lib/appsignal/integrations/que_spec.rb +0 -187
  117. data/spec/lib/appsignal/integrations/railtie_spec.rb +0 -457
  118. data/spec/lib/appsignal/integrations/resque_spec.rb +0 -155
  119. data/spec/lib/appsignal/integrations/shoryuken_spec.rb +0 -165
  120. data/spec/lib/appsignal/integrations/sidekiq_spec.rb +0 -640
  121. data/spec/lib/appsignal/integrations/webmachine_spec.rb +0 -136
  122. data/spec/lib/appsignal/loaders/grape_spec.rb +0 -12
  123. data/spec/lib/appsignal/loaders/hanami_spec.rb +0 -92
  124. data/spec/lib/appsignal/loaders/padrino_spec.rb +0 -273
  125. data/spec/lib/appsignal/loaders/sinatra_spec.rb +0 -44
  126. data/spec/lib/appsignal/loaders_spec.rb +0 -144
  127. data/spec/lib/appsignal/logger_spec.rb +0 -205
  128. data/spec/lib/appsignal/marker_spec.rb +0 -51
  129. data/spec/lib/appsignal/probes/gvl_spec.rb +0 -164
  130. data/spec/lib/appsignal/probes/mri_spec.rb +0 -162
  131. data/spec/lib/appsignal/probes/sidekiq_spec.rb +0 -333
  132. data/spec/lib/appsignal/probes_spec.rb +0 -414
  133. data/spec/lib/appsignal/rack/abstract_middleware_spec.rb +0 -370
  134. data/spec/lib/appsignal/rack/body_wrapper_spec.rb +0 -319
  135. data/spec/lib/appsignal/rack/event_handler_spec.rb +0 -441
  136. data/spec/lib/appsignal/rack/grape_middleware_spec.rb +0 -201
  137. data/spec/lib/appsignal/rack/hanami_middleware_spec.rb +0 -36
  138. data/spec/lib/appsignal/rack/instrumentation_middleware_spec.rb +0 -38
  139. data/spec/lib/appsignal/rack/rails_instrumentation_spec.rb +0 -126
  140. data/spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb +0 -217
  141. data/spec/lib/appsignal/rack_spec.rb +0 -243
  142. data/spec/lib/appsignal/sample_data_spec.rb +0 -238
  143. data/spec/lib/appsignal/span_spec.rb +0 -141
  144. data/spec/lib/appsignal/system_spec.rb +0 -126
  145. data/spec/lib/appsignal/transaction_spec.rb +0 -2115
  146. data/spec/lib/appsignal/transmitter_spec.rb +0 -198
  147. data/spec/lib/appsignal/utils/data_spec.rb +0 -166
  148. data/spec/lib/appsignal/utils/hash_sanitizer_spec.rb +0 -182
  149. data/spec/lib/appsignal/utils/integration_logger_spec.rb +0 -21
  150. data/spec/lib/appsignal/utils/integration_memory_logger_spec.rb +0 -153
  151. data/spec/lib/appsignal/utils/json_spec.rb +0 -44
  152. data/spec/lib/appsignal/utils/query_params_sanitizer_spec.rb +0 -192
  153. data/spec/lib/appsignal_spec.rb +0 -1919
  154. data/spec/lib/puma/appsignal_spec.rb +0 -334
  155. data/spec/spec_helper.rb +0 -179
  156. data/spec/support/fixtures/generated_config.yml +0 -24
  157. data/spec/support/fixtures/projects/broken/config/appsignal.yml +0 -1
  158. data/spec/support/fixtures/projects/valid/config/appsignal.yml +0 -57
  159. data/spec/support/fixtures/projects/valid/log/.gitkeep +0 -0
  160. data/spec/support/fixtures/projects/valid_with_rails_app/config/application.rb +0 -16
  161. data/spec/support/fixtures/projects/valid_with_rails_app/config/appsignal.yml +0 -56
  162. data/spec/support/fixtures/projects/valid_with_rails_app/config/environment.rb +0 -10
  163. data/spec/support/fixtures/projects/valid_with_rails_app/log/.gitkeep +0 -0
  164. data/spec/support/fixtures/uploaded_file.txt +0 -0
  165. data/spec/support/hanami/hanami_app.rb +0 -29
  166. data/spec/support/helpers/action_mailer_helpers.rb +0 -25
  167. data/spec/support/helpers/activejob_helpers.rb +0 -27
  168. data/spec/support/helpers/api_request_helper.rb +0 -60
  169. data/spec/support/helpers/cli_helpers.rb +0 -40
  170. data/spec/support/helpers/config_helpers.rb +0 -66
  171. data/spec/support/helpers/dependency_helper.rb +0 -155
  172. data/spec/support/helpers/directory_helper.rb +0 -27
  173. data/spec/support/helpers/env_helpers.rb +0 -41
  174. data/spec/support/helpers/environment_metdata_helper.rb +0 -16
  175. data/spec/support/helpers/example_exception.rb +0 -13
  176. data/spec/support/helpers/example_standard_error.rb +0 -13
  177. data/spec/support/helpers/loader_helper.rb +0 -21
  178. data/spec/support/helpers/log_helpers.rb +0 -36
  179. data/spec/support/helpers/rails_helper.rb +0 -28
  180. data/spec/support/helpers/std_streams_helper.rb +0 -94
  181. data/spec/support/helpers/system_helpers.rb +0 -8
  182. data/spec/support/helpers/take_at_most_helper.rb +0 -21
  183. data/spec/support/helpers/time_helpers.rb +0 -11
  184. data/spec/support/helpers/transaction_helpers.rb +0 -122
  185. data/spec/support/helpers/wait_for_helper.rb +0 -39
  186. data/spec/support/matchers/contains_log.rb +0 -26
  187. data/spec/support/matchers/have_colorized_text.rb +0 -28
  188. data/spec/support/matchers/transaction.rb +0 -200
  189. data/spec/support/mocks/appsignal_mock.rb +0 -18
  190. data/spec/support/mocks/dummy_app.rb +0 -20
  191. data/spec/support/mocks/fake_gc_profiler.rb +0 -19
  192. data/spec/support/mocks/fake_gvl_tools.rb +0 -28
  193. data/spec/support/mocks/hash_like.rb +0 -10
  194. data/spec/support/mocks/mock_probe.rb +0 -13
  195. data/spec/support/mocks/puma_mock.rb +0 -43
  196. data/spec/support/shared_examples/instrument.rb +0 -48
  197. data/spec/support/stubs/appsignal/loaders/loader_stub.rb +0 -7
  198. data/spec/support/stubs/delayed_job.rb +0 -0
  199. data/spec/support/stubs/sidekiq/api.rb +0 -4
  200. data/spec/support/testing.rb +0 -203
  201. data/support/bundler_wrapper +0 -12
  202. data/support/install_deps +0 -33
@@ -1,43 +0,0 @@
1
- class PumaMock
2
- module MiniSSL
3
- class SSLError < StandardError
4
- def self.to_s
5
- "Puma::MiniSSL::SSLError"
6
- end
7
- end
8
- end
9
-
10
- class HttpParserError < StandardError
11
- def self.to_s
12
- "Puma::HttpParserError"
13
- end
14
- end
15
-
16
- class HttpParserError501 < StandardError
17
- def self.to_s
18
- "Puma::HttpParserError501"
19
- end
20
- end
21
-
22
- def self.stats
23
- end
24
-
25
- def self.cli_config
26
- @cli_config ||= CliConfig.new
27
- end
28
-
29
- class Server
30
- end
31
-
32
- module Const
33
- VERSION = "6.0.0".freeze
34
- end
35
-
36
- class CliConfig
37
- attr_accessor :options
38
-
39
- def initialize
40
- @options = {}
41
- end
42
- end
43
- end
@@ -1,48 +0,0 @@
1
- RSpec.shared_examples "instrument helper" do
2
- around { |example| keep_transactions { example.run } }
3
- let(:stub) { double(:method_call => "return value") }
4
-
5
- it "records an event around the given block" do
6
- return_value = instrumenter.instrument "name", "title", "body" do
7
- stub.method_call
8
- end
9
- expect(return_value).to eq "return value"
10
-
11
- expect_transaction_to_have_event
12
- end
13
-
14
- context "with an error raised in the passed block" do
15
- it "records an event around the given block" do
16
- expect do
17
- instrumenter.instrument "name", "title", "body" do
18
- stub.method_call
19
- raise ExampleException, "foo"
20
- end
21
- end.to raise_error(ExampleException, "foo")
22
-
23
- expect_transaction_to_have_event
24
- end
25
- end
26
-
27
- context "with an error raise in the passed block" do
28
- it "records an event around the given block" do
29
- expect do
30
- instrumenter.instrument "name", "title", "body" do
31
- stub.method_call
32
- throw :foo
33
- end
34
- end.to throw_symbol(:foo)
35
-
36
- expect_transaction_to_have_event
37
- end
38
- end
39
-
40
- def expect_transaction_to_have_event
41
- expect(transaction).to include_event(
42
- "name" => "name",
43
- "title" => "title",
44
- "body" => "body",
45
- "body_format" => Appsignal::EventFormatter::DEFAULT
46
- )
47
- end
48
- end
@@ -1,7 +0,0 @@
1
- module Appsignal
2
- module Loaders
3
- class LoaderStub < Loader
4
- register :loader_stub
5
- end
6
- end
7
- end
File without changes
@@ -1,4 +0,0 @@
1
- module Sidekiq
2
- class Stats
3
- end
4
- end
@@ -1,203 +0,0 @@
1
- module Appsignal
2
- class << self
3
- attr_writer :testing
4
-
5
- remove_method :testing?
6
-
7
- # @api private
8
- def testing?
9
- @testing = true unless defined?(@testing)
10
- @testing
11
- end
12
-
13
- # @api private
14
- def clear_started!
15
- return unless instance_variable_defined?(:@started)
16
-
17
- remove_instance_variable(:@started)
18
- end
19
-
20
- # @api private
21
- def clear_config!
22
- @config = nil
23
- end
24
-
25
- # @api private
26
- def clear!
27
- Appsignal.internal_logger = nil
28
-
29
- clear_started!
30
- clear_config!
31
- end
32
- end
33
-
34
- class Config
35
- def self.clear_loader_defaults!
36
- @loader_defaults = nil
37
- end
38
- end
39
-
40
- module Loaders
41
- def self.clear!
42
- Appsignal::Config.clear_loader_defaults!
43
- loaders.reject! do |key, _value|
44
- Appsignal::Testing.registered_loaders.include?(key)
45
- end
46
- @instances = nil
47
- end
48
- end
49
-
50
- module CheckIn
51
- class << self
52
- def clear!
53
- @transmitter = nil
54
- @scheduler = nil
55
- end
56
- end
57
- end
58
-
59
- # @api private
60
- module Testing
61
- class << self
62
- def store
63
- @store ||= {}
64
- end
65
-
66
- def registered_loaders
67
- @registered_loaders ||= Set.new
68
- end
69
-
70
- def without_testing
71
- original_testing = Appsignal.testing?
72
- Appsignal.testing = false
73
- yield
74
- ensure
75
- Appsignal.testing = original_testing
76
- end
77
-
78
- def transactions
79
- @transactions ||= []
80
- end
81
-
82
- def clear!
83
- store.clear
84
- transactions.clear
85
- registered_loaders.clear
86
- end
87
-
88
- attr_writer :keep_transactions, :sample_transactions
89
-
90
- # @see TransactionHelpers#keep_transactions
91
- def keep_transactions?
92
- defined?(@keep_transactions) ? @keep_transactions : nil
93
- end
94
-
95
- # @see TransactionHelpers#keep_transactions
96
- def sample_transactions?
97
- sample = defined?(@sample_transactions) ? @sample_transactions : nil
98
- if sample.nil?
99
- keep_transactions?
100
- else
101
- @sample_transactions
102
- end
103
- end
104
- end
105
- end
106
-
107
- class Extension
108
- class Transaction
109
- if Appsignal.extension_loaded?
110
- attr_reader :queue_start
111
- alias original_set_queue_start set_queue_start
112
- # Temporary helper until the extension returns this information
113
- # https://github.com/appsignal/appsignal-agent/issues/293
114
- def set_queue_start(start) # rubocop:disable Naming/AccessorMethodName
115
- @queue_start = start
116
- original_set_queue_start(start)
117
- end
118
- end
119
-
120
- alias original_finish finish if method_defined? :finish
121
-
122
- # Override default {Extension::Transaction#finish} behavior to always
123
- # return true, which tells the transaction to add its sample data (unless
124
- # used in combination with {TransactionHelpers#keep_transactions}
125
- # `:sample => false`). This allows us to use
126
- # {Appsignal::Transaction#to_h} without relying on the extension sampling
127
- # behavior.
128
- #
129
- # @see TransactionHelpers#keep_transactions
130
- def finish(*args)
131
- return_value = original_finish(*args)
132
- return_value = true if Appsignal::Testing.sample_transactions?
133
- return_value
134
- end
135
-
136
- alias original_complete complete if method_defined? :complete
137
-
138
- # Override default {Extension::Transaction#complete} behavior to
139
- # store the transaction JSON before the transaction is completed
140
- # and it's no longer possible to request the transaction JSON.
141
- #
142
- # @see TransactionHelpers#keep_transactions
143
- # @see #_completed?
144
- def complete
145
- @completed = true # see {#_completed?} method
146
- @transaction_json = to_json if Appsignal::Testing.keep_transactions?
147
- original_complete
148
- end
149
-
150
- # Returns true when the Transaction was completed.
151
- # {Appsignal::Extension::Transaction.complete} was called.
152
- #
153
- # @return [Boolean] returns if the transaction was completed.
154
- def _completed?
155
- @completed || false
156
- end
157
-
158
- alias original_to_json to_json if method_defined? :to_json
159
-
160
- # Override default {Extension::Transaction#to_json} behavior to
161
- # return the stored the transaction JSON when the transaction was
162
- # completed.
163
- #
164
- # @see TransactionHelpers#keep_transactions
165
- def to_json # rubocop:disable Lint/ToJSON
166
- if defined? @transaction_json
167
- @transaction_json
168
- else
169
- original_to_json
170
- end
171
- end
172
- end
173
- end
174
- end
175
-
176
- module AppsignalTest
177
- module Transaction
178
- module ClassMethods
179
- def self.extended(base)
180
- base.attr_reader :ext, :error_blocks
181
- end
182
-
183
- # Override the {Appsignal::Transaction.new} method so we can track which
184
- # transactions are created on the {Appsignal::Testing.transactions} list.
185
- #
186
- # @see TransactionHelpers#last_transaction
187
- def new(...)
188
- transaction = super
189
- Appsignal::Testing.transactions << transaction
190
- transaction
191
- end
192
- end
193
-
194
- module InstanceMethods
195
- def _sample
196
- sample_data
197
- end
198
- end
199
- end
200
- end
201
-
202
- Appsignal::Transaction.extend(AppsignalTest::Transaction::ClassMethods)
203
- Appsignal::Transaction.prepend(AppsignalTest::Transaction::InstanceMethods)
@@ -1,12 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -eu
4
-
5
- case "${_BUNDLER_VERSION-"latest"}" in
6
- "latest")
7
- bundle $@
8
- ;;
9
- *)
10
- bundle _${_BUNDLER_VERSION}_ $@
11
- ;;
12
- esac
data/support/install_deps DELETED
@@ -1,33 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -eu
4
-
5
- gem_args="--no-verbose --no-document"
6
-
7
- # Workaround for https://github.com/jruby/jruby/issues/7059
8
- if [[ "${RUBY_VERSION}" == *"jruby"* ]]; then
9
- echo "Skipping rubygems and bundler update for JRuby"
10
- exit 0
11
- fi
12
-
13
- case "${_RUBYGEMS_VERSION-"latest"}" in
14
- "latest")
15
- echo "Updating rubygems"
16
- retry --times 5 --sleep 5 gem update $gem_args --system
17
- ;;
18
- *)
19
- echo "Updating rubygems to $_RUBYGEMS_VERSION}"
20
- retry --times 5 --sleep 5 gem update $gem_args --system $_RUBYGEMS_VERSION
21
- ;;
22
- esac
23
-
24
- case "${_BUNDLER_VERSION-"latest"}" in
25
- "latest")
26
- echo "Updating bundler"
27
- retry --times 5 --sleep 5 gem update bundler $gem_args
28
- ;;
29
- *)
30
- echo "Updating bundler to $_BUNDLER_VERSION"
31
- retry --times 5 --sleep 5 gem install bundler $gem_args --version $_BUNDLER_VERSION
32
- ;;
33
- esac