Class: Puppet::Pops::FirstFoundStrategy

Inherits:
MergeStrategy show all
Defined in:
lib/puppet/pops/merge_strategy.rb

Overview

Simple strategy that returns the first value found. It never merges any values.

API:

  • public

Constant Summary

Constants inherited from MergeStrategy

MergeStrategy::NOT_FOUND

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from MergeStrategy

add_strategy, #configuration, #convert_value, #initialize, merge, #merge, #options, strategy, strategy_keys

Constructor Details

This class inherits a constructor from Puppet::Pops::MergeStrategy

Class Method Details

.keyObject

API:

  • public



175
176
177
# File 'lib/puppet/pops/merge_strategy.rb', line 175

def self.key
  :first
end

Instance Method Details

#merge_lookup(lookup_variants) ⇒ Object

Returns the first value found

Parameters:

  • The variants to pass as second argument to the given block

Returns:

  • the merged value

API:

  • public



185
186
187
188
189
190
# File 'lib/puppet/pops/merge_strategy.rb', line 185

def merge_lookup(lookup_variants)
  lookup_variants.each do |lookup_variant|
    catch(:no_such_key) { return yield(lookup_variant) }
  end
  throw :no_such_key
end