Class: Puppet::Pops::Types::PObjectType::PFunction

Inherits:
PAnnotatedMember show all
Defined in:
lib/puppet/pops/types/p_object_type.rb

Overview

Describes a named Function in an Object type

Constant Summary

Constants included from Annotatable

Annotatable::TYPE_ANNOTATIONS, Annotatable::TYPE_ANNOTATION_KEY_TYPE, Annotatable::TYPE_ANNOTATION_VALUE_TYPE

Instance Attribute Summary

Attributes inherited from PAnnotatedMember

#container, #name, #type

Attributes included from Annotatable

#annotations

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from PAnnotatedMember

#==, #accept, #assert_can_be_overridden, #assert_override, #create_dispatch, #eql?, #feature_type, #final?, #hash, #i12n_hash, #invoke, label, #label, #override?

Methods included from Annotatable

#annotatable_accept, #i12n_hash, #init_annotatable

Constructor Details

#initialize(name, container, i12n_hash) ⇒ PFunction

Returns a new instance of PFunction.

Parameters:

  • name (String)

    The name of the attribute

  • container (PObjectType)

    The containing object type

  • i12n_hash (Hash{String=>Object})

    Hash containing function options



323
324
325
# File 'lib/puppet/pops/types/p_object_type.rb', line 323

def initialize(name, container, i12n_hash)
  super(name, container, TypeAsserter.assert_instance_of(["initializer for function '%s'", name], TYPE_FUNCTION, i12n_hash))
end

Class Method Details

.feature_typeObject

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.



332
333
334
# File 'lib/puppet/pops/types/p_object_type.rb', line 332

def self.feature_type
  'function'
end

Instance Method Details

#callable_typeObject



327
328
329
# File 'lib/puppet/pops/types/p_object_type.rb', line 327

def callable_type
  type
end