Module: RSS::Maker::AtomTextConstructBase::EnsureXMLContent
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Defined in: | lib/rss/maker/base.rb |
Class Method Summary
Instance Attribute Summary
- #xhtml=(content) writeonly
- #xml_content=(content) writeonly
Instance Method Summary
Class Method Details
.included(base)
[ GitHub ]# File 'lib/rss/maker/base.rb', line 295
def included(base) super base.class_eval do %w(type content xml_content).each do |element| attr_reader element attr_writer element if element != "xml_content" add_need_initialize_variable(element) end alias_method(:xhtml, :xml_content) end end
Instance Attribute Details
#xhtml=(content) (writeonly)
[ GitHub ]# File 'lib/rss/maker/base.rb', line 327
def xhtml=(content) self.xml_content = content end
#xml_content=(content) (writeonly)
[ GitHub ]# File 'lib/rss/maker/base.rb', line 323
def xml_content=(content) @xml_content = ensure_xml_content(content) end
Instance Method Details
#ensure_xml_content(content)
[ GitHub ]# File 'lib/rss/maker/base.rb', line 309
def ensure_xml_content(content) xhtml_uri = ::RSS::Atom::XHTML_URI unless content.is_a?(RSS::XML::Element) and ["div", xhtml_uri] == [content.name, content.uri] children = content children = [children] unless content.is_a?(Array) children = set_xhtml_uri_as_default_uri(children) content = RSS::XML::Element.new("div", nil, xhtml_uri, {"xmlns" => xhtml_uri}, children) end content end
#set_xhtml_uri_as_default_uri(children) (private)
[ GitHub ]# File 'lib/rss/maker/base.rb', line 332
def set_xhtml_uri_as_default_uri(children) children.collect do |child| if child.is_a?(RSS::XML::Element) and child.prefix.nil? and child.uri.nil? RSS::XML::Element.new(child.name, nil, ::RSS::Atom::XHTML_URI, child.attributes.dup, set_xhtml_uri_as_default_uri(child.children)) else child end end end