Class: Pump::Xml::Tag

Inherits:
Node
  • Object
show all
Defined in:
lib/pump/xml/tag.rb

Constant Summary collapse

INSTRUCT =
"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\n"

Instance Attribute Summary

Attributes inherited from Node

#attributes, #name, #nodes, #options

Instance Method Summary collapse

Methods inherited from Node

#level=

Constructor Details

#initialize(*args) ⇒ Tag

Returns a new instance of Tag.



8
9
10
11
12
13
# File 'lib/pump/xml/tag.rb', line 8

def initialize(*args)
  super
  if value_nodes?
    nodes.first.options = options
  end
end

Instance Method Details

#to_sObject



15
16
17
18
19
20
21
22
23
# File 'lib/pump/xml/tag.rb', line 15

def to_s
  if options.has_key?(:static_value)
    "#{condition_start}#{open_tag}#{static_value_and_close_tag}#{condition_end}"
  elsif !value_nodes? || options[:never_nil]
    "#{condition_start}#{open_tag}#{value_and_close_tag}#{condition_end}"
  else
    "#{condition_start}#{open_tag}\#{v = #{nodes.first.plain};''}\#{#{value_and_close_tag_with_nil_check}}#{condition_end}"
  end
end