diff options
author | Akira Matsuda <ronnie@dio.jp> | 2022-01-11 05:30:05 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-01-13 18:15:14 +0900 |
commit | 9828502570acce53f4094c23756bc82bd256eab7 (patch) | |
tree | 564cba1082afd34a4c35655d7c65ca78a61cca27 /lib | |
parent | 9de380860d8dc78963cabb5247c6e4a93a2fc5a9 (diff) |
[rubygems/rubygems] Let Version#spaceship accept a String
With this patch, handwriting version comparisons become a little bit easier.
before:
SomeGem.version <=> Gem::Version.new('1.3')
after:
SomeGem.version <=> '1.3'
https://github.com/rubygems/rubygems/commit/7e0dbb79f2
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rubygems/version.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/rubygems/version.rb b/lib/rubygems/version.rb index 42e0f23505..9a26f721d6 100644 --- a/lib/rubygems/version.rb +++ b/lib/rubygems/version.rb @@ -341,9 +341,11 @@ class Gem::Version # Compares this version with +other+ returning -1, 0, or 1 if the # other version is larger, the same, or smaller than this # one. Attempts to compare to something that's not a - # <tt>Gem::Version</tt> return +nil+. + # <tt>Gem::Version</tt> or a valid version String return +nil+. def <=>(other) + return self <=> self.class.new(other) if (String === other) && self.class.correct?(other) + return unless Gem::Version === other return 0 if @version == other._version || canonical_segments == other.canonical_segments |