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

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.

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

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

::RSS::XMLStyleSheetMixin - Included

::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

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

Creates a new ::RSS::Atom Entry element

[ GitHub ]

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

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 767

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 780

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 773

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 756

def items
  [self]
end

#maker_target(maker) (private)

[ GitHub ]

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

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 761

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