123456789_123456789_123456789_123456789_123456789_

Class: RSS::Atom::Feed::Entry

Relationships & Source Files
Namespace Children
Classes:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: RSS::Element
Defined in: lib/rss/atom.rb,
lib/rss/dublincore/atom.rb

Overview

Defines a child ::RSS::Atom Entry element of an ::RSS::Atom Feed element. It has the following attributes:

  • author

  • category

  • categories

  • content

  • contributor

  • id

  • link

  • published

  • rights

  • source

  • summary

  • title

  • updated

Reference: validator.w3.org/feed/docs/rfc4287.html#element.entry

Constant Summary

::RSS::Element - Inherited

GET_ATTRIBUTES, HAVE_CHILDREN_ELEMENTS, INDENT, MODELS, MUST_CALL_VALIDATORS, NEED_INITIALIZE_VARIABLES, PLURAL_FORMS, TO_ELEMENT_METHODS

::RSS::Atom::CommonModel - Included

ELEMENTS, NSPOOL

::RSS::DublinCoreModel - Included

DATE_ELEMENTS, ELEMENTS, ELEMENT_NAME_INFOS, TEXT_ELEMENTS

Class Attribute Summary

Class Method Summary

::RSS::Element - Inherited

::RSS::Utils::InheritedReader - Extended

::RSS::BaseModel - Extended

::RSS::Utils - Included

element_initialize_arguments?

This method is used inside of several different objects to determine if special behavior is needed in the constructor.

get_file_and_line_from_caller

Returns an array of two elements: the filename where the calling method is located, and the line number where it is defined.

h,
html_escape

Takes a string s with some HTML in it, and escapes '&', '“', '<' and '>', by replacing them with the appropriate entities.

new_with_value_if_need

If value is an instance of class klass, return it, else create a new instance of klass with value value.

to_class_name

Given a name in a name_with_underscores or a name-with-dashes format, returns the CamelCase version of name.

Instance Attribute Summary

Instance Method Summary

::RSS::Atom::DuplicateLinkChecker - Included

#validate_duplicate_links

Checks if there are duplicate links with the same type and hreflang attributes that have an alternate (or empty) rel attribute.

::RSS::Element - Inherited

::RSS::SetupMaker - Included

::RSS::Utils - Included

#element_initialize_arguments?

This method is used inside of several different objects to determine if special behavior is needed in the constructor.

#get_file_and_line_from_caller

Returns an array of two elements: the filename where the calling method is located, and the line number where it is defined.

#h,
#html_escape

Takes a string s with some HTML in it, and escapes '&', '“', '<' and '>', by replacing them with the appropriate entities.

#new_with_value_if_need

If value is an instance of class klass, return it, else create a new instance of klass with value value.

#to_class_name

Given a name in a name_with_underscores or a name-with-dashes format, returns the CamelCase version of name.

Constructor Details

This class inherits a constructor from RSS::Element

Instance Attribute Details

#have_required_elements?Boolean (readonly, private)

[ GitHub ]

  
# File 'lib/rss/atom.rb', line 588

def have_required_elements?
  super and have_author?
end

Instance Method Details

#atom_validate(ignore_unknown_element, tags, uri) (private)

[ GitHub ]

  
# File 'lib/rss/atom.rb', line 581

def atom_validate(ignore_unknown_element, tags, uri)
  unless have_author?
    raise MissingTagError.new("author", tag_name)
  end
  validate_duplicate_links(links)
end

#have_author?(check_parent = true) ⇒ Boolean

Returns whether any of the following are true:

  • There are any authors in the feed

  • If the parent element has an author and the check_parent parameter was given.

  • There is a source element that has an author

[ GitHub ]

  
# File 'lib/rss/atom.rb', line 574

def have_author?(check_parent=true)
  authors.any? {|author| !author.to_s.empty?} or
    (check_parent and @parent and @parent.have_author?) or
    (source and source.have_author?)
end

#maker_target(items) (private)

[ GitHub ]

  
# File 'lib/rss/atom.rb', line 592

def maker_target(items)
  if items.respond_to?("items")
    # For backward compatibility
    items = items.items
  end
  items.new_item
end