Sha256: 4f4f1d889fdcadb4d32e2151cdfedbf9340b3b8ebf3aae9ab3fb024ce68975cb

Contents?: true

Size: 888 Bytes

Versions: 741

Compression:

Stored size: 888 Bytes

Contents

module Puppet::Util::Package
  def versioncmp(version_a, version_b)
    vre = /[-.]|\d+|[^-.\d]+/
    ax = version_a.scan(vre)
    bx = version_b.scan(vre)

    while (ax.length>0 && bx.length>0)
      a = ax.shift
      b = bx.shift

      if( a == b )                 then next
      elsif (a == '-' && b == '-') then next
      elsif (a == '-')             then return -1
      elsif (b == '-')             then return 1
      elsif (a == '.' && b == '.') then next
      elsif (a == '.' )            then return -1
      elsif (b == '.' )            then return 1
      elsif (a =~ /^\d+$/ && b =~ /^\d+$/) then
        if( a =~ /^0/ or b =~ /^0/ ) then
          return a.to_s.upcase <=> b.to_s.upcase
        end
        return a.to_i <=> b.to_i
      else
        return a.upcase <=> b.upcase
      end
    end
    version_a <=> version_b;
  end

  module_function :versioncmp
end

Version data entries

741 entries across 741 versions & 6 rubygems

Version Path
puppet-7.12.1 lib/puppet/util/package.rb
puppet-7.12.1-x86-mingw32 lib/puppet/util/package.rb
puppet-7.12.1-x64-mingw32 lib/puppet/util/package.rb
puppet-7.12.1-universal-darwin lib/puppet/util/package.rb
puppet-6.25.1 lib/puppet/util/package.rb
puppet-6.25.1-x86-mingw32 lib/puppet/util/package.rb
puppet-6.25.1-x64-mingw32 lib/puppet/util/package.rb
puppet-6.25.1-universal-darwin lib/puppet/util/package.rb
puppet-7.12.0 lib/puppet/util/package.rb
puppet-7.12.0-x86-mingw32 lib/puppet/util/package.rb
puppet-7.12.0-x64-mingw32 lib/puppet/util/package.rb
puppet-7.12.0-universal-darwin lib/puppet/util/package.rb
puppet-6.25.0 lib/puppet/util/package.rb
puppet-6.25.0-x86-mingw32 lib/puppet/util/package.rb
puppet-6.25.0-x64-mingw32 lib/puppet/util/package.rb
puppet-6.25.0-universal-darwin lib/puppet/util/package.rb
puppet-7.11.0 lib/puppet/util/package.rb
puppet-7.11.0-x86-mingw32 lib/puppet/util/package.rb
puppet-7.11.0-x64-mingw32 lib/puppet/util/package.rb
puppet-7.11.0-universal-darwin lib/puppet/util/package.rb