Module: RSS::Atom::TextConstruct
- Included in:
- Feed::Entry::Summary, Feed::Rights, Feed::Subtitle, Feed::Title
- Defined in:
- lib/rss/atom.rb
Overview
The TextConstruct module is used to define a Text construct Atom element, which is used to store small quantities of human-readable text
The TextConstruct has a type attribute, e.g. text, html, xhtml
Instance Attribute Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
- #atom_validate(ignore_unknown_element, tags, uri) ⇒ Object
-
#have_xml_content? ⇒ Boolean
Returns true if type is “xhtml”.
Instance Attribute Details
#xhtml ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/rss/atom.rb', line 125 def xhtml return @xhtml if @xhtml.nil? if @xhtml.is_a?(XML::Element) and [@xhtml.name, @xhtml.uri] == ["div", XHTML_URI] return @xhtml end children = @xhtml children = [children] unless children.is_a?(Array) XML::Element.new("div", nil, XHTML_URI, {"xmlns" => XHTML_URI}, children) end |
Class Method Details
.append_features(klass) ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/rss/atom.rb', line 99 def self.append_features(klass) super klass.class_eval do [ ["type", ""], ].each do |name, uri, required| install_get_attribute(name, uri, required, :text_type) end content_setup add_need_initialize_variable("xhtml") class << self def xml_getter "xhtml" end def xml_setter "xhtml=" end end end end |
Instance Method Details
#atom_validate(ignore_unknown_element, tags, uri) ⇒ Object
143 144 145 146 147 148 149 150 151 152 |
# File 'lib/rss/atom.rb', line 143 def atom_validate(ignore_unknown_element, , uri) if have_xml_content? if @xhtml.nil? raise MissingTagError.new("div", tag_name) end unless [@xhtml.name, @xhtml.uri] == ["div", XHTML_URI] raise NotExpectedTagError.new(@xhtml.name, @xhtml.uri, tag_name) end end end |
#have_xml_content? ⇒ Boolean
Returns true if type is “xhtml”
139 140 141 |
# File 'lib/rss/atom.rb', line 139 def have_xml_content? @type == "xhtml" end |