Class: RSS::XML::Element
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#children ⇒ Object
readonly
Returns the value of attribute children.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#prefix ⇒ Object
readonly
Returns the value of attribute prefix.
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
Instance Method Summary collapse
- #<<(child) ⇒ Object
- #==(other) ⇒ Object
- #[](name) ⇒ Object
- #[]=(name, value) ⇒ Object
- #each(&block) ⇒ Object
- #full_name ⇒ Object
-
#initialize(name, prefix = nil, uri = nil, attributes = {}, children = []) ⇒ Element
constructor
A new instance of Element.
- #to_s ⇒ Object
Constructor Details
#initialize(name, prefix = nil, uri = nil, attributes = {}, children = []) ⇒ Element
Returns a new instance of Element.
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/rss/xml.rb', line 11 def initialize(name, prefix=nil, uri=nil, attributes={}, children=[]) @name = name @prefix = prefix @uri = uri @attributes = attributes if children.is_a?(String) or !children.respond_to?(:each) @children = [children] else @children = children end end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
10 11 12 |
# File 'lib/rss/xml.rb', line 10 def attributes @attributes end |
#children ⇒ Object (readonly)
Returns the value of attribute children.
10 11 12 |
# File 'lib/rss/xml.rb', line 10 def children @children end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
10 11 12 |
# File 'lib/rss/xml.rb', line 10 def name @name end |
#prefix ⇒ Object (readonly)
Returns the value of attribute prefix.
10 11 12 |
# File 'lib/rss/xml.rb', line 10 def prefix @prefix end |
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
10 11 12 |
# File 'lib/rss/xml.rb', line 10 def uri @uri end |
Instance Method Details
#<<(child) ⇒ Object
31 32 33 |
# File 'lib/rss/xml.rb', line 31 def <<(child) @children << child end |
#==(other) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/rss/xml.rb', line 39 def ==(other) other.kind_of?(self.class) and @name == other.name and @uri == other.uri and @attributes == other.attributes and @children == other.children end |
#[](name) ⇒ Object
23 24 25 |
# File 'lib/rss/xml.rb', line 23 def [](name) @attributes[name] end |
#[]=(name, value) ⇒ Object
27 28 29 |
# File 'lib/rss/xml.rb', line 27 def []=(name, value) @attributes[name] = value end |
#each(&block) ⇒ Object
35 36 37 |
# File 'lib/rss/xml.rb', line 35 def each(&block) @children.each(&block) end |
#full_name ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/rss/xml.rb', line 64 def full_name if @prefix "#{@prefix}:#{@name}" else @name end end |
#to_s ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/rss/xml.rb', line 47 def to_s rv = "<#{full_name}" attributes.each do |key, value| rv << " #{CGI.escapeHTML(key.to_s)}=\"#{CGI.escapeHTML(value.to_s)}\"" end if children.empty? rv << "/>" else rv << ">" children.each do |child| rv << child.to_s end rv << "</#{full_name}>" end rv end |