Puppet Function: extlib::sort_by_version

Defined in:
lib/puppet/functions/extlib/sort_by_version.rb
Function type:
Ruby 4.x API

Overview

extlib::sort_by_version(Array[String] $versions)Array[String]

A function that sorts an array of version numbers.

Examples:

Calling the function

extlib::sort_by_version(['10.0.0b12', '10.0.0b3', '10.0.0a2', '9.0.10', '9.0.3'])

Parameters:

  • versions (Array[String])

    An array of version strings you want sorted.

Returns:

  • (Array[String])

    Returns the sorted array.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/puppet/functions/extlib/sort_by_version.rb', line 4

Puppet::Functions.create_function(:'extlib::sort_by_version') do
  # @param versions An array of version strings you want sorted.
  # @return Returns the sorted array.
  # @example Calling the function
  #   extlib::sort_by_version(['10.0.0b12', '10.0.0b3', '10.0.0a2', '9.0.10', '9.0.3'])
  dispatch :sort_by_version do
    param 'Array[String]', :versions
    return_type 'Array[String]'
  end

  def sort_by_version(versions)
    versions.sort_by { |v| Gem::Version.new(v) }
  end
end