Module: RSS::Maker::AtomTextConstructBase::EnsureXMLContent

Included in:
ItemsBase::ItemBase::ContentBase
Defined in:
lib/rss/maker/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



295
296
297
298
299
300
301
302
303
304
305
306
# 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 Method Details

#ensure_xml_content(content) ⇒ Object



309
310
311
312
313
314
315
316
317
318
319
320
321
# 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

#xhtml=(content) ⇒ Object



327
328
329
# File 'lib/rss/maker/base.rb', line 327

def xhtml=(content)
  self.xml_content = content
end

#xml_content=(content) ⇒ Object



323
324
325
# File 'lib/rss/maker/base.rb', line 323

def xml_content=(content)
  @xml_content = ensure_xml_content(content)
end