Ruby Quiz - Challenge #18 - Up-to-Date? Version Check All Your Libraries

Gerald Bauer wrote:

Challenge #18 - Up-to-Date? Version Check All Your Libraries
quiz/018 at master · planetruby/quiz · GitHub

$ ruby -v test.rb
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]
Run options: --seed 14264
# Running:
.
Finished in 0.004554s, 219.5933 runs/s, 439.1865 assertions/s.
1 runs, 2 assertions, 0 failures, 0 errors, 0 skips

$ cat test.rb
...
def version_check( versions )
  versions.select do |name, min, cur|
    m = min.split(?.).map(&:to_i)
    c = cur.split(?.).map(&:to_i)
    l = [m.size, c.size].max
    o = (m+c).map(&:digits).map(&:size).max
    m.each.with_index.inject(0){|s,(n,i)| s+=n*10**(o*(l-i))} >
    c.each.with_index.inject(0){|s,(n,i)| s+=n*10**(o*(l-i))}
  end
end
...

$ ruby test2.rb
Run options: --seed 13237
# Running:
.
Finished in 0.002300s, 434.7764 runs/s, 869.5527 assertions/s.
1 runs, 2 assertions, 0 failures, 0 errors, 0 skips

$ cat test2.rb
...
def version_check( versions )
  versions.select do |name, min, cur|
    Gem::Version.create(min) > Gem::Version.create(cur)
  end
end
...