Sha256: f57d928f4a80d8d835e52d93239ddec8c0c1a2448af08fc9a69fdf037a05e411

Contents?: true

Size: 1.66 KB

Versions: 28

Compression:

Stored size: 1.66 KB

Contents

# frozen_string_literal: true

# An implementation of the interface Puppet::Resource
# that adapts the 3.x compiler and catalog expectations on
# a resource instance. This instance is backed by a
# pcore representation of the resource type an instance of this
# ruby class.
#
# This class must inherit from Puppet::Resource because of the
# class expectations in existing logic.
#
# This implementation does not support
# * setting 'strict' - strictness (must refer to an existing type) is always true
# * does not support the indirector
#
#
module Puppet::Pops
module Resource
class Param
  # This make this class instantiable from Puppet
  include Puppet::Pops::Types::PuppetObject

  def self.register_ptype(loader, ir)
    @ptype = Pcore.create_object_type(loader, ir, self, 'Puppet::Resource::Param', nil,
                                      {
                                        Types::KEY_TYPE => Types::PTypeType::DEFAULT,
                                        Types::KEY_NAME => Types::PStringType::NON_EMPTY,
                                        'name_var' => {
                                          Types::KEY_TYPE => Types::PBooleanType::DEFAULT,
                                          Types::KEY_VALUE => false
                                        }
                                      },
                                      EMPTY_HASH,
                                      [Types::KEY_NAME])
  end

  attr_reader :name
  attr_reader :type
  attr_reader :name_var

  def initialize(type, name, name_var = false)
    @type = type
    @name = name
    @name_var = name_var
  end

  def to_s
    name
  end

  def self._pcore_type
    @ptype
  end
end
end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
puppet-8.10.0 lib/puppet/pops/resource/param.rb
puppet-8.10.0-x86-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.10.0-x64-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.10.0-universal-darwin lib/puppet/pops/resource/param.rb
puppet-8.9.0 lib/puppet/pops/resource/param.rb
puppet-8.9.0-x86-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.9.0-x64-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.9.0-universal-darwin lib/puppet/pops/resource/param.rb
puppet-8.8.1 lib/puppet/pops/resource/param.rb
puppet-8.8.1-x86-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.8.1-x64-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.8.1-universal-darwin lib/puppet/pops/resource/param.rb
puppet-8.7.0 lib/puppet/pops/resource/param.rb
puppet-8.7.0-x86-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.7.0-x64-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.7.0-universal-darwin lib/puppet/pops/resource/param.rb
puppet-8.6.0 lib/puppet/pops/resource/param.rb
puppet-8.6.0-x86-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.6.0-x64-mingw32 lib/puppet/pops/resource/param.rb
puppet-8.6.0-universal-darwin lib/puppet/pops/resource/param.rb