minecraft_versions 1.1.1 → 1.3.3

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +93 -22
  3. data/README.md +6 -6
  4. data/bin/byebug +1 -12
  5. data/bin/coderay +1 -12
  6. data/bin/htmldiff +1 -12
  7. data/bin/ldiff +1 -12
  8. data/bin/pry +1 -12
  9. data/bin/racc +1 -12
  10. data/bin/rake +1 -12
  11. data/bin/rspec +1 -12
  12. data/bin/rubocop +1 -12
  13. data/bin/ruby-parse +1 -12
  14. data/bin/ruby-rewrite +1 -12
  15. data/docs/Version.md +2 -2
  16. data/docs/VersionPackageInfo.md +2 -2
  17. data/lib/minecraft_versions/api/default_api.rb +3 -3
  18. data/lib/minecraft_versions/api_client.rb +8 -4
  19. data/lib/minecraft_versions/api_error.rb +2 -2
  20. data/lib/minecraft_versions/api_model_base.rb +86 -0
  21. data/lib/minecraft_versions/configuration.rb +2 -2
  22. data/lib/minecraft_versions/models/download.rb +3 -76
  23. data/lib/minecraft_versions/models/version.rb +3 -76
  24. data/lib/minecraft_versions/models/version_manifest.rb +3 -76
  25. data/lib/minecraft_versions/models/version_manifest_latest.rb +3 -76
  26. data/lib/minecraft_versions/models/version_package_info.rb +3 -76
  27. data/lib/minecraft_versions/models/version_package_info_asset_index.rb +3 -76
  28. data/lib/minecraft_versions/models/version_package_info_downloads.rb +3 -76
  29. data/lib/minecraft_versions/models/version_package_info_java_version.rb +3 -76
  30. data/lib/minecraft_versions/version.rb +3 -3
  31. data/lib/minecraft_versions.rb +3 -2
  32. data/minecraft_versions.gemspec +2 -2
  33. data/spec/api/default_api_spec.rb +2 -2
  34. data/spec/models/download_spec.rb +3 -3
  35. data/spec/models/version_manifest_latest_spec.rb +3 -3
  36. data/spec/models/version_manifest_spec.rb +3 -3
  37. data/spec/models/version_package_info_asset_index_spec.rb +3 -3
  38. data/spec/models/version_package_info_downloads_spec.rb +3 -3
  39. data/spec/models/version_package_info_java_version_spec.rb +3 -3
  40. data/spec/models/version_package_info_spec.rb +3 -3
  41. data/spec/models/version_spec.rb +3 -3
  42. data/spec/spec_helper.rb +2 -2
  43. metadata +7 -10
  44. data/bin/bundle +0 -109
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -12,7 +12,7 @@ require 'date'
12
12
  require 'time'
13
13
 
14
14
  module MinecraftVersionsClient
15
- class VersionPackageInfoDownloads
15
+ class VersionPackageInfoDownloads < ApiModelBase
16
16
  attr_accessor :client
17
17
 
18
18
  attr_accessor :client_mappings
@@ -151,61 +151,6 @@ module MinecraftVersionsClient
151
151
  new(transformed_hash)
152
152
  end
153
153
 
154
- # Deserializes the data based on type
155
- # @param string type Data type
156
- # @param string value Value to be deserialized
157
- # @return [Object] Deserialized data
158
- def self._deserialize(type, value)
159
- case type.to_sym
160
- when :Time
161
- Time.parse(value)
162
- when :Date
163
- Date.parse(value)
164
- when :String
165
- value.to_s
166
- when :Integer
167
- value.to_i
168
- when :Float
169
- value.to_f
170
- when :Boolean
171
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
172
- true
173
- else
174
- false
175
- end
176
- when :Object
177
- # generic object (usually a Hash), return directly
178
- value
179
- when /\AArray<(?<inner_type>.+)>\z/
180
- inner_type = Regexp.last_match[:inner_type]
181
- value.map { |v| _deserialize(inner_type, v) }
182
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
183
- k_type = Regexp.last_match[:k_type]
184
- v_type = Regexp.last_match[:v_type]
185
- {}.tap do |hash|
186
- value.each do |k, v|
187
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
188
- end
189
- end
190
- else # model
191
- # models (e.g. Pet) or oneOf
192
- klass = MinecraftVersionsClient.const_get(type)
193
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
194
- end
195
- end
196
-
197
- # Returns the string representation of the object
198
- # @return [String] String presentation of the object
199
- def to_s
200
- to_hash.to_s
201
- end
202
-
203
- # to_body is an alias to to_hash (backward compatibility)
204
- # @return [Hash] Returns the object in the form of hash
205
- def to_body
206
- to_hash
207
- end
208
-
209
154
  # Returns the object in the form of hash
210
155
  # @return [Hash] Returns the object in the form of hash
211
156
  def to_hash
@@ -222,24 +167,6 @@ module MinecraftVersionsClient
222
167
  hash
223
168
  end
224
169
 
225
- # Outputs non-array value in the form of hash
226
- # For object, use to_hash. Otherwise, just return the value
227
- # @param [Object] value Any valid value
228
- # @return [Hash] Returns the value in the form of hash
229
- def _to_hash(value)
230
- if value.is_a?(Array)
231
- value.compact.map { |v| _to_hash(v) }
232
- elsif value.is_a?(Hash)
233
- {}.tap do |hash|
234
- value.each { |k, v| hash[k] = _to_hash(v) }
235
- end
236
- elsif value.respond_to? :to_hash
237
- value.to_hash
238
- else
239
- value
240
- end
241
- end
242
-
243
170
  end
244
171
 
245
172
  end
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -12,7 +12,7 @@ require 'date'
12
12
  require 'time'
13
13
 
14
14
  module MinecraftVersionsClient
15
- class VersionPackageInfoJavaVersion
15
+ class VersionPackageInfoJavaVersion < ApiModelBase
16
16
  attr_accessor :component
17
17
 
18
18
  attr_accessor :major_version
@@ -133,61 +133,6 @@ module MinecraftVersionsClient
133
133
  new(transformed_hash)
134
134
  end
135
135
 
136
- # Deserializes the data based on type
137
- # @param string type Data type
138
- # @param string value Value to be deserialized
139
- # @return [Object] Deserialized data
140
- def self._deserialize(type, value)
141
- case type.to_sym
142
- when :Time
143
- Time.parse(value)
144
- when :Date
145
- Date.parse(value)
146
- when :String
147
- value.to_s
148
- when :Integer
149
- value.to_i
150
- when :Float
151
- value.to_f
152
- when :Boolean
153
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
154
- true
155
- else
156
- false
157
- end
158
- when :Object
159
- # generic object (usually a Hash), return directly
160
- value
161
- when /\AArray<(?<inner_type>.+)>\z/
162
- inner_type = Regexp.last_match[:inner_type]
163
- value.map { |v| _deserialize(inner_type, v) }
164
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
165
- k_type = Regexp.last_match[:k_type]
166
- v_type = Regexp.last_match[:v_type]
167
- {}.tap do |hash|
168
- value.each do |k, v|
169
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
170
- end
171
- end
172
- else # model
173
- # models (e.g. Pet) or oneOf
174
- klass = MinecraftVersionsClient.const_get(type)
175
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
176
- end
177
- end
178
-
179
- # Returns the string representation of the object
180
- # @return [String] String presentation of the object
181
- def to_s
182
- to_hash.to_s
183
- end
184
-
185
- # to_body is an alias to to_hash (backward compatibility)
186
- # @return [Hash] Returns the object in the form of hash
187
- def to_body
188
- to_hash
189
- end
190
-
191
136
  # Returns the object in the form of hash
192
137
  # @return [Hash] Returns the object in the form of hash
193
138
  def to_hash
@@ -204,24 +149,6 @@ module MinecraftVersionsClient
204
149
  hash
205
150
  end
206
151
 
207
- # Outputs non-array value in the form of hash
208
- # For object, use to_hash. Otherwise, just return the value
209
- # @param [Object] value Any valid value
210
- # @return [Hash] Returns the value in the form of hash
211
- def _to_hash(value)
212
- if value.is_a?(Array)
213
- value.compact.map { |v| _to_hash(v) }
214
- elsif value.is_a?(Hash)
215
- {}.tap do |hash|
216
- value.each { |k, v| hash[k] = _to_hash(v) }
217
- end
218
- elsif value.respond_to? :to_hash
219
- value.to_hash
220
- else
221
- value
222
- end
223
- end
224
-
225
152
  end
226
153
 
227
154
  end
@@ -1,13 +1,13 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
11
11
  module MinecraftVersionsClient
12
- VERSION = '1.1.1'
12
+ VERSION = '1.3.3'
13
13
  end
@@ -1,16 +1,17 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
11
11
  # Common files
12
12
  require 'minecraft_versions/api_client'
13
13
  require 'minecraft_versions/api_error'
14
+ require 'minecraft_versions/api_model_base'
14
15
  require 'minecraft_versions/version'
15
16
  require 'minecraft_versions/configuration'
16
17
 
@@ -3,10 +3,10 @@
3
3
  =begin
4
4
  #SDK for Minecraft versions info
5
5
 
6
- The version of the OpenAPI document: 1.1.1
6
+ The version of the OpenAPI document: 1.3.3
7
7
  Contact: blah+oapicf@cliffano.com
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.12.0
9
+ Generator version: 7.24.0
10
10
 
11
11
  =end
12
12
 
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -16,7 +16,7 @@ require 'date'
16
16
  # Automatically generated by openapi-generator (https://openapi-generator.tech)
17
17
  # Please update as you see appropriate
18
18
  describe MinecraftVersionsClient::Download do
19
- let(:instance) { MinecraftVersionsClient::Download.new }
19
+ #let(:instance) { MinecraftVersionsClient::Download.new }
20
20
 
21
21
  describe 'test an instance of Download' do
22
22
  it 'should create an instance of Download' do
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -16,7 +16,7 @@ require 'date'
16
16
  # Automatically generated by openapi-generator (https://openapi-generator.tech)
17
17
  # Please update as you see appropriate
18
18
  describe MinecraftVersionsClient::VersionManifestLatest do
19
- let(:instance) { MinecraftVersionsClient::VersionManifestLatest.new }
19
+ #let(:instance) { MinecraftVersionsClient::VersionManifestLatest.new }
20
20
 
21
21
  describe 'test an instance of VersionManifestLatest' do
22
22
  it 'should create an instance of VersionManifestLatest' do
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -16,7 +16,7 @@ require 'date'
16
16
  # Automatically generated by openapi-generator (https://openapi-generator.tech)
17
17
  # Please update as you see appropriate
18
18
  describe MinecraftVersionsClient::VersionManifest do
19
- let(:instance) { MinecraftVersionsClient::VersionManifest.new }
19
+ #let(:instance) { MinecraftVersionsClient::VersionManifest.new }
20
20
 
21
21
  describe 'test an instance of VersionManifest' do
22
22
  it 'should create an instance of VersionManifest' do
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -16,7 +16,7 @@ require 'date'
16
16
  # Automatically generated by openapi-generator (https://openapi-generator.tech)
17
17
  # Please update as you see appropriate
18
18
  describe MinecraftVersionsClient::VersionPackageInfoAssetIndex do
19
- let(:instance) { MinecraftVersionsClient::VersionPackageInfoAssetIndex.new }
19
+ #let(:instance) { MinecraftVersionsClient::VersionPackageInfoAssetIndex.new }
20
20
 
21
21
  describe 'test an instance of VersionPackageInfoAssetIndex' do
22
22
  it 'should create an instance of VersionPackageInfoAssetIndex' do
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -16,7 +16,7 @@ require 'date'
16
16
  # Automatically generated by openapi-generator (https://openapi-generator.tech)
17
17
  # Please update as you see appropriate
18
18
  describe MinecraftVersionsClient::VersionPackageInfoDownloads do
19
- let(:instance) { MinecraftVersionsClient::VersionPackageInfoDownloads.new }
19
+ #let(:instance) { MinecraftVersionsClient::VersionPackageInfoDownloads.new }
20
20
 
21
21
  describe 'test an instance of VersionPackageInfoDownloads' do
22
22
  it 'should create an instance of VersionPackageInfoDownloads' do
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -16,7 +16,7 @@ require 'date'
16
16
  # Automatically generated by openapi-generator (https://openapi-generator.tech)
17
17
  # Please update as you see appropriate
18
18
  describe MinecraftVersionsClient::VersionPackageInfoJavaVersion do
19
- let(:instance) { MinecraftVersionsClient::VersionPackageInfoJavaVersion.new }
19
+ #let(:instance) { MinecraftVersionsClient::VersionPackageInfoJavaVersion.new }
20
20
 
21
21
  describe 'test an instance of VersionPackageInfoJavaVersion' do
22
22
  it 'should create an instance of VersionPackageInfoJavaVersion' do
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -16,7 +16,7 @@ require 'date'
16
16
  # Automatically generated by openapi-generator (https://openapi-generator.tech)
17
17
  # Please update as you see appropriate
18
18
  describe MinecraftVersionsClient::VersionPackageInfo do
19
- let(:instance) { MinecraftVersionsClient::VersionPackageInfo.new }
19
+ #let(:instance) { MinecraftVersionsClient::VersionPackageInfo.new }
20
20
 
21
21
  describe 'test an instance of VersionPackageInfo' do
22
22
  it 'should create an instance of VersionPackageInfo' do
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
@@ -16,7 +16,7 @@ require 'date'
16
16
  # Automatically generated by openapi-generator (https://openapi-generator.tech)
17
17
  # Please update as you see appropriate
18
18
  describe MinecraftVersionsClient::Version do
19
- let(:instance) { MinecraftVersionsClient::Version.new }
19
+ #let(:instance) { MinecraftVersionsClient::Version.new }
20
20
 
21
21
  describe 'test an instance of Version' do
22
22
  it 'should create an instance of Version' do
data/spec/spec_helper.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  =begin
2
2
  #SDK for Minecraft versions info
3
3
 
4
- The version of the OpenAPI document: 1.1.1
4
+ The version of the OpenAPI document: 1.3.3
5
5
  Contact: blah+oapicf@cliffano.com
6
6
  Generated by: https://openapi-generator.tech
7
- Generator version: 7.12.0
7
+ Generator version: 7.24.0
8
8
 
9
9
  =end
10
10
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minecraft_versions
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI Clients Factory
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-05-10 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: typhoeus
@@ -61,7 +60,6 @@ files:
61
60
  - Gemfile.lock
62
61
  - README.md
63
62
  - Rakefile
64
- - bin/bundle
65
63
  - bin/byebug
66
64
  - bin/coderay
67
65
  - bin/htmldiff
@@ -87,6 +85,7 @@ files:
87
85
  - lib/minecraft_versions/api/default_api.rb
88
86
  - lib/minecraft_versions/api_client.rb
89
87
  - lib/minecraft_versions/api_error.rb
88
+ - lib/minecraft_versions/api_model_base.rb
90
89
  - lib/minecraft_versions/configuration.rb
91
90
  - lib/minecraft_versions/models/download.rb
92
91
  - lib/minecraft_versions/models/version.rb
@@ -112,7 +111,6 @@ homepage: https://github.com/oapicf/minecraft-versions
112
111
  licenses:
113
112
  - MIT
114
113
  metadata: {}
115
- post_install_message:
116
114
  rdoc_options: []
117
115
  require_paths:
118
116
  - lib
@@ -127,18 +125,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
125
  - !ruby/object:Gem::Version
128
126
  version: '0'
129
127
  requirements: []
130
- rubygems_version: 3.4.20
131
- signing_key:
128
+ rubygems_version: 3.6.7
132
129
  specification_version: 4
133
130
  summary: Ruby Gem
134
131
  test_files:
135
132
  - spec/api/default_api_spec.rb
133
+ - spec/models/download_spec.rb
136
134
  - spec/models/version_manifest_latest_spec.rb
137
135
  - spec/models/version_manifest_spec.rb
138
- - spec/models/version_spec.rb
139
136
  - spec/models/version_package_info_asset_index_spec.rb
140
137
  - spec/models/version_package_info_downloads_spec.rb
141
- - spec/models/version_package_info_spec.rb
142
138
  - spec/models/version_package_info_java_version_spec.rb
143
- - spec/models/download_spec.rb
139
+ - spec/models/version_package_info_spec.rb
140
+ - spec/models/version_spec.rb
144
141
  - spec/spec_helper.rb
data/bin/bundle DELETED
@@ -1,109 +0,0 @@
1
- #!/usr/bin/env ruby3.2
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'bundle' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require "rubygems"
12
-
13
- m = Module.new do
14
- module_function
15
-
16
- def invoked_as_script?
17
- File.expand_path($0) == File.expand_path(__FILE__)
18
- end
19
-
20
- def env_var_version
21
- ENV["BUNDLER_VERSION"]
22
- end
23
-
24
- def cli_arg_version
25
- return unless invoked_as_script? # don't want to hijack other binstubs
26
- return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update`
27
- bundler_version = nil
28
- update_index = nil
29
- ARGV.each_with_index do |a, i|
30
- if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN
31
- bundler_version = a
32
- end
33
- next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
34
- bundler_version = $1
35
- update_index = i
36
- end
37
- bundler_version
38
- end
39
-
40
- def gemfile
41
- gemfile = ENV["BUNDLE_GEMFILE"]
42
- return gemfile if gemfile && !gemfile.empty?
43
-
44
- File.expand_path("../Gemfile", __dir__)
45
- end
46
-
47
- def lockfile
48
- lockfile =
49
- case File.basename(gemfile)
50
- when "gems.rb" then gemfile.sub(/\.rb$/, ".locked")
51
- else "#{gemfile}.lock"
52
- end
53
- File.expand_path(lockfile)
54
- end
55
-
56
- def lockfile_version
57
- return unless File.file?(lockfile)
58
- lockfile_contents = File.read(lockfile)
59
- return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
60
- Regexp.last_match(1)
61
- end
62
-
63
- def bundler_requirement
64
- @bundler_requirement ||=
65
- env_var_version ||
66
- cli_arg_version ||
67
- bundler_requirement_for(lockfile_version)
68
- end
69
-
70
- def bundler_requirement_for(version)
71
- return "#{Gem::Requirement.default}.a" unless version
72
-
73
- bundler_gem_version = Gem::Version.new(version)
74
-
75
- bundler_gem_version.approximate_recommendation
76
- end
77
-
78
- def load_bundler!
79
- ENV["BUNDLE_GEMFILE"] ||= gemfile
80
-
81
- activate_bundler
82
- end
83
-
84
- def activate_bundler
85
- gem_error = activation_error_handling do
86
- gem "bundler", bundler_requirement
87
- end
88
- return if gem_error.nil?
89
- require_error = activation_error_handling do
90
- require "bundler/version"
91
- end
92
- return if require_error.nil? && Gem::Requirement.new(bundler_requirement).satisfied_by?(Gem::Version.new(Bundler::VERSION))
93
- warn "Activating bundler (#{bundler_requirement}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_requirement}'`"
94
- exit 42
95
- end
96
-
97
- def activation_error_handling
98
- yield
99
- nil
100
- rescue StandardError, LoadError => e
101
- e
102
- end
103
- end
104
-
105
- m.load_bundler!
106
-
107
- if m.invoked_as_script?
108
- load Gem.bin_path("bundler", "bundle")
109
- end