Sha256: a44bf4d74692e8564acdd6580737b62136d89a0eda3469a7d346d3bd697ac5a0

Contents?: true

Size: 876 Bytes

Versions: 12

Compression:

Stored size: 876 Bytes

Contents

# frozen_string_literal: true

require_relative '../../puppet/property/list'

module Puppet
  class Property
    # This subclass of {Puppet::Property} manages an ordered list of values.
    # The maintained order is the order defined by the 'current' set of values (i.e. the
    # original order is not disrupted). Any additions are added after the current values
    # in their given order).
    #
    # For an unordered list see {Puppet::Property::List}.
    #
    class OrderedList < List
      def add_should_with_current(should, current)
        if current.is_a?(Array)
          # tricky trick
          # Preserve all the current items in the list
          # but move them to the back of the line
          should = should + (current - should)
        end
        should
      end

      def dearrayify(array)
        array.join(delimiter)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
puppet-8.5.1 lib/puppet/property/ordered_list.rb
puppet-8.5.1-x86-mingw32 lib/puppet/property/ordered_list.rb
puppet-8.5.1-x64-mingw32 lib/puppet/property/ordered_list.rb
puppet-8.5.1-universal-darwin lib/puppet/property/ordered_list.rb
puppet-8.5.0 lib/puppet/property/ordered_list.rb
puppet-8.5.0-x86-mingw32 lib/puppet/property/ordered_list.rb
puppet-8.5.0-x64-mingw32 lib/puppet/property/ordered_list.rb
puppet-8.5.0-universal-darwin lib/puppet/property/ordered_list.rb
puppet-8.4.0 lib/puppet/property/ordered_list.rb
puppet-8.4.0-x86-mingw32 lib/puppet/property/ordered_list.rb
puppet-8.4.0-x64-mingw32 lib/puppet/property/ordered_list.rb
puppet-8.4.0-universal-darwin lib/puppet/property/ordered_list.rb