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.

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



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:

  • lookup_variants (Array)

    The variants to pass as second argument to the given block

Returns:

  • (Object)

    the merged value



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