Module: Puppet::Pops::Types::PuppetObject

Overview

Marker module for implementations that are mapped to Object types

Instance Method Summary collapse

Instance Method Details

#_pcore_all_contents(path, &block) ⇒ Object


25
26
# File 'lib/puppet/pops/types/puppet_object.rb', line 25

def _pcore_all_contents(path, &block)
end

#_pcore_contentsObject


28
29
# File 'lib/puppet/pops/types/puppet_object.rb', line 28

def _pcore_contents
end

#_pcore_init_hashObject


31
32
33
# File 'lib/puppet/pops/types/puppet_object.rb', line 31

def _pcore_init_hash
  {}
end

#_pcore_typePObjectType

Returns the Puppet Type for this instance. The implementing class must add the #_pcore_type as a class method.


11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/puppet/pops/types/puppet_object.rb', line 11

def _pcore_type
  t = self.class._pcore_type
  if t.parameterized?
    unless instance_variable_defined?(:@_cached_ptype)
      # Create a parameterized type based on the values of this instance that
      # contains a parameter value for each type parameter that matches an
      # attribute by name and type of value
      @_cached_ptype = PObjectTypeExtension.create_from_instance(t, self)
    end
    t = @_cached_ptype
  end
  t
end

#to_sObject


35
36
37
# File 'lib/puppet/pops/types/puppet_object.rb', line 35

def to_s
  TypeFormatter.string(self)
end