Class: DOT::DOTNode
Overview
Instance Attribute Summary
Attributes inherited from DOTElement
#name, #options
#name
Instance Method Summary
collapse
Methods inherited from DOTElement
#each_option, #each_option_pair
Constructor Details
#initialize(params = {}, option_list = NODE_OPTS) ⇒ DOTNode
Returns a new instance of DOTNode.
175
176
177
178
|
# File 'lib/puppet/external/dot.rb', line 175
def initialize(params = {}, option_list = NODE_OPTS)
super(params, option_list)
@ports = params['ports'] || []
end
|
Instance Method Details
#<<(thing) ⇒ Object
184
185
186
|
# File 'lib/puppet/external/dot.rb', line 184
def <<(thing)
@ports << thing
end
|
#each_port ⇒ Object
180
181
182
|
# File 'lib/puppet/external/dot.rb', line 180
def each_port
@ports.each { |i| yield i }
end
|
192
193
194
|
# File 'lib/puppet/external/dot.rb', line 192
def pop
@ports.pop
end
|
#push(thing) ⇒ Object
188
189
190
|
# File 'lib/puppet/external/dot.rb', line 188
def push(thing)
@ports.push(thing)
end
|
#to_s(t = '') ⇒ Object
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
|
# File 'lib/puppet/external/dot.rb', line 196
def to_s(t = '')
label = if @options['shape'] != 'record' && @ports.length == 0
if @options['label']
t + $tab + "label = #{stringify(@options['label'])}\n"
else
''
end
else
t + $tab + 'label = "' + " \\\n" +
t + $tab2 + "#{stringify(@options['label'])}| \\\n" +
@ports.collect { |i|
t + $tab2 + i.to_s
}.join("| \\\n") + " \\\n" +
t + $tab + '"' + "\n"
end
t + "#{@name} [\n" +
@options.to_a.filter_map { |i|
i[1] && i[0] != 'label' ?
t + $tab + "#{i[0]} = #{i[1]}" : nil
}.join(",\n") + (label != '' ? ",\n" : "\n") +
label +
t + "]\n"
end
|