aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorHomu <homu@barosl.com>2016-06-23 03:10:26 +0900
committerSamuel Giddins <segiddins@segiddins.me>2016-06-27 16:17:39 -0500
commitd89689a02b18310ede25de4749fbe2fb71fcabd8 (patch)
tree557b540706e539be69d240e2dde9d5c62779c9ba /lib
parent52954ffffa23d9f3f16c396782f1811b39f0a8f7 (diff)
downloadbundler-d89689a02b18310ede25de4749fbe2fb71fcabd8.tar.gz
Auto merge of #4700 - bundler:seg-lockfile-frozen-string-old-rg, r=segiddins
[LockfileParser] Support for old RG on Ruby 2.3+ Fixes #4698 \c @allenzhao (cherry picked from commit 78d614413a994b5acd3dccd82b0782290d0d850d)
Diffstat (limited to 'lib')
-rw-r--r--lib/bundler/lockfile_parser.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/bundler/lockfile_parser.rb b/lib/bundler/lockfile_parser.rb
index e0c6dd1c..a57dbcac 100644
--- a/lib/bundler/lockfile_parser.rb
+++ b/lib/bundler/lockfile_parser.rb
@@ -27,9 +27,11 @@ module Bundler
SOURCE = [GIT, GEM, PATH].freeze
SECTIONS_BY_VERSION_INTRODUCED = {
- Gem::Version.create("1.0") => [DEPENDENCIES, PLATFORMS, GIT, GEM, PATH].freeze,
- Gem::Version.create("1.10") => [BUNDLED].freeze,
- Gem::Version.create("1.12") => [RUBY].freeze,
+ # The strings have to be dup'ed for old RG on Ruby 2.3+
+ # TODO: remove dup in Bundler 2.0
+ Gem::Version.create("1.0".dup) => [DEPENDENCIES, PLATFORMS, GIT, GEM, PATH].freeze,
+ Gem::Version.create("1.10".dup) => [BUNDLED].freeze,
+ Gem::Version.create("1.12".dup) => [RUBY].freeze,
}.freeze
KNOWN_SECTIONS = SECTIONS_BY_VERSION_INTRODUCED.values.flatten.freeze
@@ -46,7 +48,7 @@ module Bundler
def self.sections_to_ignore(base_version = nil)
base_version &&= base_version.release
- base_version ||= Gem::Version.create("1.0")
+ base_version ||= Gem::Version.create("1.0".dup)
attributes = []
SECTIONS_BY_VERSION_INTRODUCED.each do |version, introduced|
next if version <= base_version