Class: SimpleJsonapi::Node::Data::Collection
- Defined in:
- lib/simple_jsonapi/node/data/collection.rb
Instance Attribute Summary collapse
- #resources ⇒ Array<Object> readonly
Attributes inherited from Base
#extras, #fields_spec, #include_spec, #root_node, #serializer, #serializer_inferrer, #sort_spec
Instance Method Summary collapse
- #as_jsonapi ⇒ Hash{Symbol => Hash}
-
#initialize(resources:, **options) ⇒ Collection
constructor
A new instance of Collection.
Constructor Details
#initialize(resources:, **options) ⇒ Collection
Returns a new instance of Collection.
10 11 12 13 14 15 16 17 18 |
# File 'lib/simple_jsonapi/node/data/collection.rb', line 10 def initialize(resources:, **) super() @resources = Array.wrap(resources) @resource_nodes = @resources.map do |resource| build_child_node(SimpleJsonapi::Node::Resource::Full, resource: resource) end end |
Instance Attribute Details
#resources ⇒ Array<Object> (readonly)
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/simple_jsonapi/node/data/collection.rb', line 5 class Collection < SimpleJsonapi::Node::Base attr_reader :resources # @param resources [Array<Object>] # @param options see {Node::Base#initialize} for additional parameters def initialize(resources:, **) super() @resources = Array.wrap(resources) @resource_nodes = @resources.map do |resource| build_child_node(SimpleJsonapi::Node::Resource::Full, resource: resource) end end # @return [Hash{Symbol => Hash}] def as_jsonapi { data: @resource_nodes.map(&:as_jsonapi) } end end |
Instance Method Details
#as_jsonapi ⇒ Hash{Symbol => Hash}
21 22 23 |
# File 'lib/simple_jsonapi/node/data/collection.rb', line 21 def as_jsonapi { data: @resource_nodes.map(&:as_jsonapi) } end |