123456789_123456789_123456789_123456789_123456789_

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

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