Sha256: 5b7f296a90a14d4e138e27b930e2c6333cf6ce329b60f4a41f54d0e54f0098dd

Contents?: true

Size: 746 Bytes

Versions: 11

Compression:

Stored size: 746 Bytes

Contents

require 'puppet/util/package'

Puppet::Parser::Functions::newfunction( :versioncmp, :type => :rvalue, :doc =>
"Compares two version numbers.

Prototype:

    \$result = versioncmp(a, b)

Where a and b are arbitrary version strings.

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:

    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.

") do |args|

  unless args.length == 2
    raise Puppet::ParseError, "versioncmp should have 2 arguments"
  end

  return Puppet::Util::Package.versioncmp(args[0], args[1])
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
puppet-3.0.2 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.2.rc3 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.2.rc2 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.2.rc1 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.1 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.1.rc1 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.0 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.0.rc8 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.0.rc7 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.0.rc5 lib/puppet/parser/functions/versioncmp.rb
puppet-3.0.0.rc4 lib/puppet/parser/functions/versioncmp.rb