Class: Puppet::Functions::InternalFunction Private

Inherits:
Function show all
Defined in:
lib/puppet/functions.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Note:

WARNING: This style of creating functions is not public. It is a system under development that will be used for creating “system” functions.

This is a private, internal, system for creating functions. It supports everything that the public function definition system supports as well as a few extra features such as injection of well known parameters.

Direct Known Subclasses

Hiera::PuppetFunction, Function3x

Instance Attribute Summary

Attributes inherited from Pops::Functions::Function

#closure_scope, #loader

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Function

argument_mismatch, dispatch, local_types, new

Methods inherited from Pops::Functions::Function

#call, #call_function, dispatcher, #initialize, signatures

Constructor Details

This class inherits a constructor from Puppet::Pops::Functions::Function

Class Method Details

.builderObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.


663
664
665
# File 'lib/puppet/functions.rb', line 663

def self.builder
  InternalDispatchBuilder.new(dispatcher, Puppet::Pops::Types::PCallableType::DEFAULT, loader)
end

Instance Method Details

#call_function_with_scope(scope, function_name, *args, &block) ⇒ Object

Allows the implementation of a function to call other functions by name and pass the caller scope. The callable functions are those visible to the same loader that loaded this function (the calling function).


677
678
679
# File 'lib/puppet/functions.rb', line 677

def call_function_with_scope(scope, function_name, *args, &block)
  internal_call_function(scope, function_name, args, &block)
end