class SimpleJsonapi::Node::Resource::Full
Represents a single resource object.
Public Class Methods
new(**options)
click to toggle source
@param options see {Node::Resource::Base#initialize} for additional parameters
Calls superclass method
SimpleJsonapi::Node::Resource::Base::new
# File lib/simple_jsonapi/node/resource/full.rb, line 5 def initialize(**options) super(options) @attributes_node = build_child_node( SimpleJsonapi::Node::Attributes, resource: resource, resource_type: resource_type, attribute_definitions: serializer.attribute_definitions, ) @relationships_node = build_child_node( SimpleJsonapi::Node::Relationships, resource: resource, resource_type: resource_type, relationship_definitions: serializer.relationship_definitions, ) @links_node = build_child_node( SimpleJsonapi::Node::ObjectLinks, object: resource, link_definitions: serializer.link_definitions, ) @meta_node = build_child_node( SimpleJsonapi::Node::ObjectMeta, object: resource, meta_definitions: serializer.meta_definitions, ) end
Public Instance Methods
as_jsonapi()
click to toggle source
@return [Hash{Symbol => Hash}]
# File lib/simple_jsonapi/node/resource/full.rb, line 36 def as_jsonapi json = {} json[:id] = resource_id json[:type] = resource_type json.merge!(@attributes_node.as_jsonapi) json.merge!(@relationships_node.as_jsonapi) json.merge!(@links_node.as_jsonapi) json.merge!(@meta_node.as_jsonapi) json end