Module | RSS::Maker::AtomTextConstructBase::EnsureXMLContent |
In: |
lib/rss/maker/base.rb
|
# File lib/rss/maker/base.rb, line 284 284: def included(base) 285: super 286: base.class_eval do 287: %w(type content xml_content).each do |element| 288: attr_reader element 289: attr_writer element if element != "xml_content" 290: add_need_initialize_variable(element) 291: end 292: 293: alias_method(:xhtml, :xml_content) 294: end 295: end
# File lib/rss/maker/base.rb, line 298 298: def ensure_xml_content(content) 299: xhtml_uri = ::RSS::Atom::XHTML_URI 300: unless content.is_a?(RSS::XML::Element) and 301: ["div", xhtml_uri] == [content.name, content.uri] 302: children = content 303: children = [children] unless content.is_a?(Array) 304: children = set_xhtml_uri_as_default_uri(children) 305: content = RSS::XML::Element.new("div", nil, xhtml_uri, 306: {"xmlns" => xhtml_uri}, 307: children) 308: end 309: content 310: end
# File lib/rss/maker/base.rb, line 316 316: def xhtml=(content) 317: self.xml_content = content 318: end
# File lib/rss/maker/base.rb, line 312 312: def xml_content=(content) 313: @xml_content = ensure_xml_content(content) 314: end
# File lib/rss/maker/base.rb, line 321 321: def set_xhtml_uri_as_default_uri(children) 322: children.collect do |child| 323: if child.is_a?(RSS::XML::Element) and 324: child.prefix.nil? and child.uri.nil? 325: RSS::XML::Element.new(child.name, nil, ::RSS::Atom::XHTML_URI, 326: child.attributes.dup, 327: set_xhtml_uri_as_default_uri(child.children)) 328: else 329: child 330: end 331: end 332: end