In Files

  • rss/atom.rb

Class/Module Index [+]

Quicksearch

RSS::Atom::Feed::Entry::Content

Attributes

xml[W]

Public Instance Methods

atom_validate(ignore_unknown_element, tags, uri) click to toggle source
 
               # File rss/atom.rb, line 491
def atom_validate(ignore_unknown_element, tags, uri)
  if out_of_line?
    raise MissingAttributeError.new(tag_name, "type") if @type.nil?
    unless (content.nil? or content.empty?)
      raise NotAvailableValueError.new(tag_name, content)
    end
  elsif inline_xhtml?
    if @xml.nil?
      raise MissingTagError.new("div", tag_name)
    end
    unless @xml.name == "div" and @xml.uri == XHTML_URI
      raise NotExpectedTagError.new(@xml.name, @xml.uri, tag_name)
    end
  end
end
            
have_xml_content?() click to toggle source
 
               # File rss/atom.rb, line 465
def have_xml_content?
  inline_xhtml? or inline_other_xml?
end
            
inline_html?() click to toggle source
 
               # File rss/atom.rb, line 511
def inline_html?
  return false if out_of_line?
  @type == "html" or mime_split == ["text", "html"]
end
            
inline_other?() click to toggle source
 
               # File rss/atom.rb, line 520
def inline_other?
  return false if out_of_line?
  media_type, subtype = mime_split
  return false if media_type.nil? or subtype.nil?
  true
end
            
inline_other_base64?() click to toggle source
 
               # File rss/atom.rb, line 550
def inline_other_base64?
  inline_other? and !inline_other_text? and !inline_other_xml?
end
            
inline_other_text?() click to toggle source
 
               # File rss/atom.rb, line 527
def inline_other_text?
  return false unless inline_other?
  return false if inline_other_xml?

  media_type, subtype = mime_split
  return true if "text" == media_type.downcase
  false
end
            
inline_other_xml?() click to toggle source
 
               # File rss/atom.rb, line 536
def inline_other_xml?
  return false unless inline_other?

  media_type, subtype = mime_split
  normalized_mime_type = "#{media_type}/#{subtype}".downcase
  if /(?:\+xml|^xml)$/ =~ subtype or
      %w(text/xml-external-parsed-entity
         application/xml-external-parsed-entity
         application/xml-dtd).find {|x| x == normalized_mime_type}
    return true
  end
  false
end
            
inline_text?() click to toggle source
 
               # File rss/atom.rb, line 507
def inline_text?
  !out_of_line? and [nil, "text", "html"].include?(@type)
end
            
inline_xhtml?() click to toggle source
 
               # File rss/atom.rb, line 516
def inline_xhtml?
  !out_of_line? and @type == "xhtml"
end
            
mime_split() click to toggle source
 
               # File rss/atom.rb, line 558
def mime_split
  media_type = subtype = nil
  if /\A\s*([a-z]+)\/([a-z\+]+)\s*(?:;.*)?\z/i =~ @type.to_s
    media_type = $1.downcase
    subtype = $2.downcase
  end
  [media_type, subtype]
end
            
need_base64_encode?() click to toggle source
 
               # File rss/atom.rb, line 567
def need_base64_encode?
  inline_other_base64?
end
            
out_of_line?() click to toggle source
 
               # File rss/atom.rb, line 554
def out_of_line?
  not @src.nil?
end
            
xhtml() click to toggle source
 
               # File rss/atom.rb, line 483
def xhtml
  if inline_xhtml?
    xml
  else
    nil
  end
end
            
xml() click to toggle source
 
               # File rss/atom.rb, line 469
def xml
  return @xml unless inline_xhtml?
  return @xml if @xml.nil?
  if @xml.is_a?(XML::Element) and
      [@xml.name, @xml.uri] == ["div", XHTML_URI]
    return @xml
  end

  children = @xml
  children = [children] unless children.is_a?(Array)
  XML::Element.new("div", nil, XHTML_URI,
                   {"xmlns" => XHTML_URI}, children)
end
            
xml_getter() click to toggle source
 
               # File rss/atom.rb, line 449
def xml_getter
  "xml"
end
            
xml_setter() click to toggle source
 
               # File rss/atom.rb, line 445
def xml_setter
  "xml="
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus