Class: JSONAPIonify::Api::Resource::Builders::ResourceBuilder
- Inherits:
-
ResourceIdentiferBuilder
- Object
- BaseBuilder
- ResourceIdentiferBuilder
- JSONAPIonify::Api::Resource::Builders::ResourceBuilder
- Defined in:
- lib/jsonapionify/api/resource/builders/resource_builder.rb
Constant Summary
Constants included from Structure
Instance Attribute Summary collapse
-
#block ⇒ Object
readonly
Returns the value of attribute block.
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#include_cursor ⇒ Object
readonly
Returns the value of attribute include_cursor.
-
#links ⇒ Object
readonly
Returns the value of attribute links.
-
#write ⇒ Object
readonly
Returns the value of attribute write.
Attributes inherited from ResourceIdentiferBuilder
Attributes inherited from BaseBuilder
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(resource, context:, links: true, include_cursor: false, write: false, **opts, &block) ⇒ ResourceBuilder
constructor
A new instance of ResourceBuilder.
Methods included from IdentityHelper
Methods inherited from BaseBuilder
Constructor Details
#initialize(resource, context:, links: true, include_cursor: false, write: false, **opts, &block) ⇒ ResourceBuilder
Returns a new instance of ResourceBuilder.
9 10 11 12 13 14 15 16 |
# File 'lib/jsonapionify/api/resource/builders/resource_builder.rb', line 9 def initialize(resource, context:, links: true, include_cursor: false, write: false, **opts, &block) super(resource, **opts) @context = context @links = links @include_cursor = include_cursor @write = write @block = block end |
Instance Attribute Details
#block ⇒ Object (readonly)
Returns the value of attribute block.
7 8 9 |
# File 'lib/jsonapionify/api/resource/builders/resource_builder.rb', line 7 def block @block end |
#context ⇒ Object (readonly)
Returns the value of attribute context.
7 8 9 |
# File 'lib/jsonapionify/api/resource/builders/resource_builder.rb', line 7 def context @context end |
#include_cursor ⇒ Object (readonly)
Returns the value of attribute include_cursor.
7 8 9 |
# File 'lib/jsonapionify/api/resource/builders/resource_builder.rb', line 7 def include_cursor @include_cursor end |
#links ⇒ Object (readonly)
Returns the value of attribute links.
7 8 9 |
# File 'lib/jsonapionify/api/resource/builders/resource_builder.rb', line 7 def links @links end |
#write ⇒ Object (readonly)
Returns the value of attribute write.
7 8 9 |
# File 'lib/jsonapionify/api/resource/builders/resource_builder.rb', line 7 def write @write end |
Instance Method Details
#build ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/jsonapionify/api/resource/builders/resource_builder.rb', line 18 def build return nil unless instance Objects::Resource.new.tap do |resource| resource[:type] = resource_type (id = build_id) && resource[:id] = id (attributes = build_attributes).present? && resource[:attributes] = attributes (relationships = build_relationships).present? && resource[:relationships] = relationships (links = build_links).present? && resource[:links] = links ( = ).present? && resource[:meta] = end end |