Class: HalClient::RepresentationSet
- Inherits:
-
Object
- Object
- HalClient::RepresentationSet
- Extended by:
- Forwardable
- Includes:
- Enumerable
- Defined in:
- lib/hal_client/representation_set.rb
Overview
A collection HAL representations
Instance Method Summary collapse
-
#has_related?(link_rel) ⇒ Boolean
Returns true if any member representation contains a link (including embedded links) whose rel is ‘link_rel`.
-
#initialize(reprs) ⇒ RepresentationSet
constructor
A new instance of RepresentationSet.
-
#post(data, options = {}) ⇒ Object
Post a ‘Representation` or `String` to the resource.
-
#related(link_rel, options = {}) ⇒ Object
Returns representations of resources related via the specified link rel or the specified default value.
Constructor Details
#initialize(reprs) ⇒ RepresentationSet
Returns a new instance of RepresentationSet.
8 9 10 |
# File 'lib/hal_client/representation_set.rb', line 8 def initialize(reprs) @reprs = reprs end |
Instance Method Details
#has_related?(link_rel) ⇒ Boolean
Returns true if any member representation contains a link (including embedded links) whose rel is ‘link_rel`.
link_rel - The link rel of interest
34 35 36 37 38 39 40 |
# File 'lib/hal_client/representation_set.rb', line 34 def (link_rel) _ = link_rel true rescue KeyError false end |
#post(data, options = {}) ⇒ Object
Post a ‘Representation` or `String` to the resource.
NOTE: This only works for a single representation.
data - a ‘String` or an object that responds to `#to_hal` options - set of options to pass to `HalClient#post`
48 49 50 51 |
# File 'lib/hal_client/representation_set.rb', line 48 def post(data, ={}) raise NotImplementedError, "We only posts to singular resources." if count > 1 first.post(data, ) end |
#related(link_rel, options = {}) ⇒ Object
Returns representations of resources related via the specified
link rel or the specified default value.
name_or_rel - The name of property or link rel of interest options - optional keys and values with which to expand any
templated links that are encountered
default_proc - an option proc that will be called with ‘name`
to produce default value if the specified property or link does not
exist
Raises KeyError if the specified link does not exist
and no default_proc is provided.
26 27 28 |
# File 'lib/hal_client/representation_set.rb', line 26 def (link_rel, ={}) RepresentationSet.new flat_map{|it| it.(link_rel, ){[]}.to_a } end |