Sha256: 0cfa98d410c9275a4388f06f3682be491f63ce88b0d47b180e8d486e6981f8d1

Contents?: true

Size: 1023 Bytes

Versions: 20

Compression:

Stored size: 1023 Bytes

Contents

# frozen_string_literal: true
require_relative '../../puppet/util/package'

# Compares two version numbers.
#
# Prototype:
#
#     \$result = versioncmp(a, b)
#
# Where a and b are arbitrary version strings.
#
# Optional parameter ignore_trailing_zeroes is used to ignore unnecessary
# trailing version numbers like .0 or .0.00
#
# This function returns:
#
# * `1` if version a is greater than version b
# * `0` if the versions are equal
# * `-1` if version a is less than version b
#
# @example Using versioncmp
#
#     if versioncmp('2.6-1', '2.4.5') > 0 {
#         notice('2.6-1 is > than 2.4.5')
#     }
#
# This function uses the same version comparison algorithm used by Puppet's
# `package` type.
#
Puppet::Functions.create_function(:versioncmp) do

  dispatch :versioncmp do
    param 'String', :a
    param 'String', :b
    optional_param 'Boolean', :ignore_trailing_zeroes
  end

  def versioncmp(a, b, ignore_trailing_zeroes = false)
    Puppet::Util::Package.versioncmp(a, b, ignore_trailing_zeroes)
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
puppet-8.3.0 lib/puppet/functions/versioncmp.rb
puppet-8.3.0-x86-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.3.0-x64-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.3.0-universal-darwin lib/puppet/functions/versioncmp.rb
puppet-8.3.1 lib/puppet/functions/versioncmp.rb
puppet-8.3.1-x86-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.3.1-x64-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.3.1-universal-darwin lib/puppet/functions/versioncmp.rb
puppet-8.2.0 lib/puppet/functions/versioncmp.rb
puppet-8.2.0-x86-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.2.0-x64-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.2.0-universal-darwin lib/puppet/functions/versioncmp.rb
puppet-8.1.0 lib/puppet/functions/versioncmp.rb
puppet-8.1.0-x86-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.1.0-x64-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.1.0-universal-darwin lib/puppet/functions/versioncmp.rb
puppet-8.0.1 lib/puppet/functions/versioncmp.rb
puppet-8.0.1-x86-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.0.1-x64-mingw32 lib/puppet/functions/versioncmp.rb
puppet-8.0.1-universal-darwin lib/puppet/functions/versioncmp.rb