Sha256: bcd94537c5709db6fd33d576939c19eb980edd0b750b503cab5696778a1cbe95
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
module Yaks class Resource include Attributes.new( type: nil, links: [], attributes: {}, subresources: {}, controls: [] ), Enumerable def [](attr) attributes[attr] end def each return to_enum unless block_given? yield self end def self_link links.reverse.find do |link| link.rel.equal? :self end end def collection? false end def null_resource? false end def collection_rel raise UnsupportedOperationError, "Only Yaks::CollectionResource has a collection_rel" end def members raise UnsupportedOperationError, "Only Yaks::CollectionResource has members" end def update_attributes(new_attrs) update(attributes: @attributes.merge(new_attrs)) end def add_link(link) append_to(:links, link) end def add_control(control) append_to(:controls, control) end def add_subresource(rel, subresource) update(subresources: @subresources.merge(rel => subresource)) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
yaks-0.6.2 | lib/yaks/resource.rb |
yaks-0.6.1 | lib/yaks/resource.rb |