Unverified Commit 88c3595d authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto Committed by GitHub

Merge pull request #4393 from robfors/twiddle_wakka

Fixes the twiddle wakka comparison algorithm
parents ff765c81 73bb144e
...@@ -267,16 +267,18 @@ module MRuby ...@@ -267,16 +267,18 @@ module MRuby
# ~> compare algorithm # ~> compare algorithm
# #
# Example: # Example:
# ~> 2 means >= 2.0.0 and < 3.0.0
# ~> 2.2 means >= 2.2.0 and < 3.0.0 # ~> 2.2 means >= 2.2.0 and < 3.0.0
# ~> 2.2.0 means >= 2.2.0 and < 2.3.0 # ~> 2.2.2 means >= 2.2.2 and < 2.3.0
def twiddle_wakka_ok?(other) def twiddle_wakka_ok?(other)
gr_or_eql = (self <=> other) >= 0 gr_or_eql = (self <=> other) >= 0
still_minor = (self <=> other.skip_minor) < 0 still_major_or_minor = (self <=> other.skip_major_or_minor) < 0
gr_or_eql and still_minor gr_or_eql and still_major_or_minor
end end
def skip_minor def skip_major_or_minor
a = @ary.dup a = @ary.dup
a << 0 if a.size == 1 # ~> 2 can also be represented as ~> 2.0
a.slice!(-1) a.slice!(-1)
a[-1] = a[-1].succ a[-1] = a[-1].succ
a a
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment