| 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