class DTK::Puppet::ParseStructure::AttributePS

Public Class Methods

create_name_attribute() click to toggle source

IgnoreValues = [Puppet::Pops::Model::VariableExpression]

# File lib/dtk_puppet/parse_structure.rb, line 191
def self.create_name_attribute
  new(['name'], 'required' => true)
end
new(arg, opts = {}) click to toggle source
Calls superclass method
# File lib/dtk_puppet/parse_structure.rb, line 156
def initialize(arg, opts = {})
  self['name'] = arg[0]

  if arg_1 = arg[1]          
    self['type']     = type?(arg_1)
    self['required'] = opts[:required] if opts.key?(:required)

    unless def_value(arg_1)
      self['required'] ||= true
    end
  else
    self['type']     = 'string'
    self['required'] = true
  end

  super
end

Public Instance Methods

def_value(default_ast_obj) click to toggle source
# File lib/dtk_puppet/parse_structure.rb, line 182
def def_value(default_ast_obj)
  # if arg_value = default_ast_obj.value
  #   default_ast_obj.source_text unless IgnoreValues.include?(arg_value.class)
  # else
  default_ast_obj.source_text
  # end
end
type?(arg) click to toggle source
# File lib/dtk_puppet/parse_structure.rb, line 174
def type?(arg)
  if arg_value = arg.value
    AttrTypes[arg_value.class] || 'string'
  else
    'string'
  end
end