Class: RSS::Atom::Feed

Inherits:
Element show all
Includes:
CommonModel, DuplicateLinkChecker, DublinCoreModel, RootElementMixin
Defined in:
lib/rss/atom.rb,
lib/rss/dublincore/atom.rb

Overview

Defines the top-level element of an 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

Defined Under Namespace

Classes: Author, Category, Contributor, Entry, Generator, Icon, Id, Link, Logo, Rights, Subtitle, Title, Updated

Constant Summary

Constants included from DublinCoreModel

DublinCoreModel::DATE_ELEMENTS, DublinCoreModel::ELEMENTS, DublinCoreModel::ELEMENT_NAME_INFOS, DublinCoreModel::TEXT_ELEMENTS

Constants included from CommonModel

CommonModel::ELEMENTS, CommonModel::NSPOOL

Constants inherited from Element

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

Instance Attribute Summary

Attributes included from RootElementMixin

#encoding, #feed_subtype, #feed_type, #feed_version, #output_encoding, #standalone, #version

Attributes included from XMLStyleSheetMixin

#xml_stylesheets

Attributes inherited from Element

#do_validate, #parent

Instance Method Summary collapse

Methods included from BaseModel

#install_date_element, #install_have_child_element, #install_have_children_element, #install_text_element

Methods included from Utils

element_initialize_arguments?, get_file_and_line_from_caller, new_with_value_if_need, to_class_name

Methods included from BaseDublinCoreModel

#append_features

Methods included from DuplicateLinkChecker

#validate_duplicate_links

Methods included from CommonModel

append_features

Methods included from RootElementMixin

#feed_info, #setup_maker, #to_atom, #to_feed, #to_rss, #to_xml

Methods inherited from Element

add_have_children_element, add_need_initialize_variable, add_plural_form, add_to_element_method, content_setup, #convert, #converter=, def_corresponded_attr_reader, def_corresponded_attr_writer, #full_name, get_attributes, have_children_elements, have_content?, #have_xml_content?, inherited, inherited_base, install_get_attribute, install_model, install_must_call_validator, install_ns, models, must_call_validators, #need_base64_encode?, need_initialize_variables, need_parent?, plural_forms, required_prefix, required_uri, #set_next_element, tag_name, #tag_name, to_element_methods, #to_s, #valid?, #validate, #validate_for_stream

Methods included from Utils::InheritedReader

#inherited_array_reader, #inherited_hash_reader, #inherited_reader

Methods included from SetupMaker

#setup_maker

Constructor Details

#initialize(version = nil, encoding = nil, standalone = nil) ⇒ Feed

Creates a new Atom feed



313
314
315
316
317
# 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 Method Details

#have_author?Boolean

Returns true if there are any authors for the feed or any of the Entry child elements have an author

Returns:

  • (Boolean)


323
324
325
326
# File 'lib/rss/atom.rb', line 323

def have_author?
  authors.any? {|author| !author.to_s.empty?} or
    entries.any? {|entry| entry.have_author?(false)}
end