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