Class: RSS::Atom::Feed
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 the top-level element of an ::RSS::Atom
Feed Document. It consists of a number of children Entry
elements, and has the following attributes:
-
author
-
categories
-
category
-
content
-
contributor
-
entries (aliased as items)
-
entry
-
generator
-
icon
-
id
-
link
-
logo
-
rights
-
subtitle
-
title
-
updated
Reference: validator.w3.org/feed/docs/rfc4287.html#element.feed
Constant Summary
::RSS::Element
- Inherited
GET_ATTRIBUTES, HAVE_CHILDREN_ELEMENTS, INDENT, MODELS, MUST_CALL_VALIDATORS, NEED_INITIALIZE_VARIABLES, PLURAL_FORMS, TO_ELEMENT_METHODS
CommonModel
- Included
::RSS::DublinCoreModel
- Included
Class Attribute Summary
::RSS::Element
- Inherited
Class Method Summary
-
.new(version = nil, encoding = nil, standalone = nil) ⇒ Feed
constructor
Creates a new
::RSS::Atom
feed.
::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 |
new_with_value_if_need | If |
to_class_name | Given a |
Instance Attribute Summary
-
#have_author? ⇒ Boolean
readonly
Returns true if there are any authors for the feed or any of the
Entry
child elements have an author. - #have_required_elements? ⇒ Boolean readonly private
::RSS::RootElementMixin
- Included
#encoding, #feed_subtype, #feed_type, #feed_version, #output_encoding, #output_encoding=, #standalone, #version |
::RSS::XMLStyleSheetMixin
- Included
::RSS::Element
- Inherited
Instance Method Summary
- #items
- #atom_validate(ignore_unknown_element, tags, uri) private
- #maker_target(maker) private
- #setup_maker_element(channel) private
- #setup_maker_elements(channel) private
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::RootElementMixin
- Included
#feed_info, #initialize, #setup_maker, #to_atom, #to_feed, #to_rss, #to_xml, #maker_target, #ns_declarations, #same_feed_type?, #tag, #xmldecl |
::RSS::XMLStyleSheetMixin
- Included
::RSS::Element
- Inherited
::RSS::SetupMaker
- Included
#setup_maker, #maker_target, #not_need_to_call_setup_maker_variables, #setup_maker_attributes, #setup_maker_element, #setup_maker_elements |
::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 |
#new_with_value_if_need | If |
#to_class_name | Given a |
Constructor Details
.new(version = nil, encoding = nil, standalone = nil) ⇒ Feed
Creates a new ::RSS::Atom
feed
# File 'lib/rss/atom.rb', line 313
def initialize(version=nil, encoding=nil, standalone=nil) super("1.0", version, encoding, standalone) @feed_type = "atom" @feed_subtype = "feed" end
Instance Attribute Details
#have_author? ⇒ Boolean
(readonly)
Returns true if there are any authors for the feed or any of the Feed::Entry
child elements have an author
# File 'lib/rss/atom.rb', line 323
def .any? {|| ! .to_s.empty?} or entries.any? {|entry| entry. (false)} end
#have_required_elements? ⇒ Boolean
(readonly, private)
[ GitHub ]
# File 'lib/rss/atom.rb', line 336
def have_required_elements? super and end
Instance Method Details
#atom_validate(ignore_unknown_element, tags, uri) (private)
[ GitHub ]# File 'lib/rss/atom.rb', line 329
def atom_validate(ignore_unknown_element, , uri) unless raise MissingTagError.new("author", tag_name) end validate_duplicate_links(links) end
#items
[ GitHub ]# File 'lib/rss/atom.rb', line 319
alias_method :items, :entries
#maker_target(maker) (private)
[ GitHub ]# File 'lib/rss/atom.rb', line 340
def maker_target(maker) maker.channel end
#setup_maker_element(channel) (private)
[ GitHub ]# File 'lib/rss/atom.rb', line 344
def setup_maker_element(channel) prev_dc_dates = channel.dc_dates.to_a.dup super channel.about = id.content if id channel.dc_dates.replace(prev_dc_dates) end