Class: Puppet::Pops::PN::List

Inherits:
Object
  • Object
show all
Includes:
Puppet::Pops::PN
Defined in:
lib/puppet/pops/pn.rb

Constant Summary

Constants included from Puppet::Pops::PN

KEY_PATTERN

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Puppet::Pops::PN

#==, #double_quote, #format_elements, #pnError, #to_s, #with_name

Constructor Details

#initialize(elements) ⇒ List

Returns a new instance of List.



139
140
141
# File 'lib/puppet/pops/pn.rb', line 139

def initialize(elements)
  @elements = elements
end

Instance Attribute Details

#elementsObject (readonly)



137
138
139
# File 'lib/puppet/pops/pn.rb', line 137

def elements
  @elements
end

Instance Method Details

#[](idx) ⇒ Object



143
144
145
# File 'lib/puppet/pops/pn.rb', line 143

def [](idx)
  @elements[idx]
end

#as_call(name) ⇒ Object



147
148
149
# File 'lib/puppet/pops/pn.rb', line 147

def as_call(name)
  Call.new(name, *@elements)
end

#as_parametersObject



151
152
153
# File 'lib/puppet/pops/pn.rb', line 151

def as_parameters
  @elements
end

#eql?(o) ⇒ Boolean

Returns:

  • (Boolean)


155
156
157
# File 'lib/puppet/pops/pn.rb', line 155

def eql?(o)
  o.is_a?(List) && @elements == o.elements
end

#format(indent, b) ⇒ Object



159
160
161
162
163
# File 'lib/puppet/pops/pn.rb', line 159

def format(indent, b)
  b << '['
  format_elements(@elements, indent ? indent.increase : nil, b) unless @elements.empty?
  b << ']'
end

#to_dataObject



165
166
167
# File 'lib/puppet/pops/pn.rb', line 165

def to_data
  @elements.map { |e| e.to_data }
end