class SimpleJsonapi::Node::ObjectLinks
Represents a links
object (a collection of links).
@!attribute [r] object
@return [Object]
@!attribute [r] link_definitions
@return [Hash{Symbol => Definition::Link}]
Attributes
link_definitions[R]
object[R]
Public Class Methods
new(object:, link_definitions:, **options)
click to toggle source
@param object [Object] @param link_definitions
[Hash{Symbol => Definition::Link}] @param options see {Node::Base#initialize} for additional parameters
Calls superclass method
SimpleJsonapi::Node::Base::new
# File lib/simple_jsonapi/node/object_links.rb, line 14 def initialize(object:, link_definitions:, **options) super(options) @object = object @link_definitions = link_definitions end
Public Instance Methods
as_jsonapi()
click to toggle source
@return [Hash{Symbol => Hash}]
# File lib/simple_jsonapi/node/object_links.rb, line 22 def as_jsonapi if link_definitions_to_render.any? json = {} link_definitions_to_render.each do |name, defn| json[name] = evaluate(defn.value_proc, object) end { links: json } else {} end end
Private Instance Methods
link_definitions_to_render()
click to toggle source
# File lib/simple_jsonapi/node/object_links.rb, line 36 def link_definitions_to_render @link_definitions_to_render ||= link_definitions.select { |_, defn| render?(defn, object) } end