123456789_123456789_123456789_123456789_123456789_

Class: RSS::Atom::Entry

Relationships & Source Files
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 top-level ::RSS::Atom Entry element, used as the document element of a stand-alone ::RSS::Atom Entry Document. 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

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.

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

Constructor Details

.new(version = nil, encoding = nil, standalone = nil) ⇒ Entry

Creates a new ::RSS::Atom Entry element.

[ GitHub ]

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

def initialize(version=nil, encoding=nil, standalone=nil)
  super("1.0", version, encoding, standalone)
  @feed_type = "atom"
  @feed_subtype = "entry"
end

Instance Attribute Details

#have_author?Boolean (readonly)

Returns where there are any authors present or there is a source with an author.

[ GitHub ]

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

def have_author?
  authors.any? {|author| !author.to_s.empty?} or
    (source and source.have_author?)
end

#have_required_elements?Boolean (readonly, private)

[ GitHub ]

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

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 949

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

#items

Returns the Entry in an array.

[ GitHub ]

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

def items
  [self]
end

#maker_target(maker) (private)

[ GitHub ]

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

def maker_target(maker)
  maker.items.new_item
end

#setup_maker(maker)

Sets up the maker for constructing Entry elements.

[ GitHub ]

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

def setup_maker(maker)
  maker = maker.maker if maker.respond_to?("maker")
  super(maker)
end