Class: Atom::Links

Inherits:
Array
  • Object
show all
Includes:
Enumerable
Defined in:
lib/atom.rb

Overview

Links provides an Array of Link objects belonging to either a Feed or an Entry.

Some additional methods to get specific types of links are provided.

References

See also www.atomenabled.org/developers/syndication/atom-format-spec.php#element.link for details on link selection and link attributes.

Instance Method Summary collapse

Constructor Details

#initializeLinks

Initialize an empty Links array.



582
583
584
# File 'lib/atom.rb', line 582

def initialize
  super([])
end

Instance Method Details

#alternate(type = nil) ⇒ Object

Get the alternate.

Returns the first link with rel == ‘alternate’ that matches the given type.



589
590
591
# File 'lib/atom.rb', line 589

def alternate(type = nil)
  detect { |link| (link.rel.nil? || link.rel == Link::Rel::ALTERNATE) && (type.nil? || type == link.type) }
end

#alternatesObject

Get all alternates.



594
595
596
# File 'lib/atom.rb', line 594

def alternates
  select { |link| link.rel.nil? || link.rel == Link::Rel::ALTERNATE }
end

Gets the edit link.

This is the link which can be used for posting updates to an item using the Atom Publishing Protocol.



645
646
647
# File 'lib/atom.rb', line 645

def edit_link
  detect { |link| link.rel == 'edit' }
end

#enclosuresObject

Gets all links with rel == ‘enclosure’



609
610
611
# File 'lib/atom.rb', line 609

def enclosures
  select { |link| link.rel == Link::Rel::ENCLOSURE }
end

#first_pageObject

Gets the link with rel == ‘first’.

This is defined as the first page in a pagination set.



616
617
618
# File 'lib/atom.rb', line 616

def first_page
  detect { |link| link.rel == Link::Rel::FIRST }
end

#last_pageObject

Gets the link with rel == ‘last’.

This is defined as the last page in a pagination set.



623
624
625
# File 'lib/atom.rb', line 623

def last_page
  detect { |link| link.rel == Link::Rel::LAST }
end

#next_pageObject

Gets the link with rel == ‘next’.

This is defined as the next page in a pagination set.



630
631
632
# File 'lib/atom.rb', line 630

def next_page
  detect { |link| link.rel == Link::Rel::NEXT }
end

#prev_pageObject

Gets the link with rel == ‘prev’.

This is defined as the previous page in a pagination set.



637
638
639
# File 'lib/atom.rb', line 637

def prev_page
  detect { |link| link.rel == Link::Rel::PREVIOUS }
end

#selfObject

Gets the self link.



599
600
601
# File 'lib/atom.rb', line 599

def self
  detect { |link| link.rel == Link::Rel::SELF }
end

#viaObject

Gets the via link.



604
605
606
# File 'lib/atom.rb', line 604

def via
  detect { |link| link.rel == Link::Rel::VIA }
end