Class: Oat::Adapters::Siren
- Inherits:
-
Oat::Adapter
- Object
- Oat::Adapter
- Oat::Adapters::Siren
- Defined in:
- lib/oat/adapters/siren.rb
Instance Method Summary collapse
- #entities(name, collection, serializer_class = nil, &block) ⇒ Object
- #entity(name, obj, serializer_class = nil, &block) ⇒ Object
-
#initialize(*args) ⇒ Siren
constructor
A new instance of Siren.
- #link(rel, opts = {}) ⇒ Object
- #properties(&block) ⇒ Object
- #property(key, value) ⇒ Object
- #type(*types) ⇒ Object
Methods inherited from Oat::Adapter
Constructor Details
#initialize(*args) ⇒ Siren
Returns a new instance of Siren.
6 7 8 9 10 |
# File 'lib/oat/adapters/siren.rb', line 6 def initialize(*args) super data[:links] = [] data[:entities] = [] end |
Instance Method Details
#entities(name, collection, serializer_class = nil, &block) ⇒ Object
32 33 34 35 36 |
# File 'lib/oat/adapters/siren.rb', line 32 def entities(name, collection, serializer_class = nil, &block) collection.each do |obj| entity name, obj, serializer_class, &block end end |
#entity(name, obj, serializer_class = nil, &block) ⇒ Object
28 29 30 |
# File 'lib/oat/adapters/siren.rb', line 28 def entity(name, obj, serializer_class = nil, &block) data[:entities] << serializer_from_block_or_class(obj, serializer_class, &block) end |
#link(rel, opts = {}) ⇒ Object
16 17 18 |
# File 'lib/oat/adapters/siren.rb', line 16 def link(rel, opts = {}) data[:links] << {rel: [rel]}.merge(opts) end |
#properties(&block) ⇒ Object
20 21 22 |
# File 'lib/oat/adapters/siren.rb', line 20 def properties(&block) data[:properties].merge! yield_props(&block) end |
#property(key, value) ⇒ Object
24 25 26 |
# File 'lib/oat/adapters/siren.rb', line 24 def property(key, value) data[:properties][key] = value end |
#type(*types) ⇒ Object
12 13 14 |
# File 'lib/oat/adapters/siren.rb', line 12 def type(*types) data[:class] = types end |