Class: IPTables::Interpolations

Inherits:
Object
  • Object
show all
Defined in:
lib/iptables/expansions.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(primitives) ⇒ Interpolations

Returns a new instance of Interpolations.



120
121
122
123
124
# File 'lib/iptables/expansions.rb', line 120

def initialize(primitives)
  @primitives = primitives
  $log.debug("interpolations primitives: #{@primitives}")
  @named = {}
end

Instance Attribute Details

#namedObject (readonly)

interpret strings such as “<% foo.bar %>” into equivalent primitives



119
120
121
# File 'lib/iptables/expansions.rb', line 119

def named
  @named
end

#primitivesObject (readonly)

interpret strings such as “<% foo.bar %>” into equivalent primitives



119
120
121
# File 'lib/iptables/expansions.rb', line 119

def primitives
  @primitives
end

Instance Method Details

#add(interpolation_string) ⇒ Object



126
127
128
# File 'lib/iptables/expansions.rb', line 126

def add(interpolation_string)
  @named[interpolation_string] = Interpolation.new(self, interpolation_string)
end

#children(interpolation_string) ⇒ Object



130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/iptables/expansions.rb', line 130

def children(interpolation_string)
  self.add(interpolation_string) unless @named.has_key? interpolation_string
  strings = @named[interpolation_string].children()
  returned_array = []
  case strings
  when Array
    strings.each{ |result|
      returned_array.push({'raw' => result})
    }
  else
    returned_array.push({'raw' => strings})
  end
  return returned_array
end