Class: Frenetic::HypermediaLinkSet
- Inherits:
-
Delegator
- Object
- Delegator
- Frenetic::HypermediaLinkSet
- Defined in:
- lib/frenetic/hypermedia_link_set.rb
Instance Method Summary collapse
- #[](relation) ⇒ Object
- #__getobj__ ⇒ Object
- #find_relevant_link(tmpl_vars) ⇒ Object
- #href(tmpl_vars = {}) ⇒ Object
-
#initialize(link_set = []) ⇒ HypermediaLinkSet
constructor
A new instance of HypermediaLinkSet.
Constructor Details
#initialize(link_set = []) ⇒ HypermediaLinkSet
Returns a new instance of HypermediaLinkSet.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/frenetic/hypermedia_link_set.rb', line 8 def initialize(link_set = []) link_set = [link_set] unless link_set.is_a? Array @link_set = link_set.map do |link| if link.is_a? HypermediaLink link else HypermediaLink.new link end end end |
Instance Method Details
#[](relation) ⇒ Object
26 27 28 |
# File 'lib/frenetic/hypermedia_link_set.rb', line 26 def [](relation) @link_set.find { |link| link.rel == relation.to_s } end |
#__getobj__ ⇒ Object
36 37 38 |
# File 'lib/frenetic/hypermedia_link_set.rb', line 36 def __getobj__ @link_set end |
#find_relevant_link(tmpl_vars) ⇒ Object
30 31 32 33 34 |
# File 'lib/frenetic/hypermedia_link_set.rb', line 30 def find_relevant_link(tmpl_vars) @link_set.find do |link| link.(tmpl_vars) end || fail(Frenetic::MissingRelevantLink.new(tmpl_vars, @link_set)) end |
#href(tmpl_vars = {}) ⇒ Object
20 21 22 23 24 |
# File 'lib/frenetic/hypermedia_link_set.rb', line 20 def href(tmpl_vars = {}) return @link_set.first.href if tmpl_vars.blank? link = find_relevant_link(tmpl_vars) link && link.href(tmpl_vars) end |