module SimpleJsonapi::Definition::Concerns::HasMetaObject
Adds a {#meta} method and {#meta_definitions} collection to a definition.
@!attribute [r] meta_definitions
@return [Hash{Symbol => String,Object}]
Public Class Methods
included(base)
click to toggle source
@visibility private
# File lib/simple_jsonapi/definition/concerns/has_meta_object.rb, line 11 def self.included(base) base.send :attr_accessor, :meta_definitions end
new(*args, &block)
click to toggle source
Calls superclass method
# File lib/simple_jsonapi/definition/concerns/has_meta_object.rb, line 15 def initialize(*args, &block) super @meta_definitions = {} end
Public Instance Methods
meta(name, *args, **options, &block)
click to toggle source
@overload meta(name, options = {}, &block) @overload meta(name, value, options = {}) @yieldparam object [Object] @yieldreturn [Object] @return [void]
# File lib/simple_jsonapi/definition/concerns/has_meta_object.rb, line 30 def meta(name, *args, **options, &block) meta_definitions[name.to_sym] = Meta.new(name, *args, options, &block) end
Private Instance Methods
initialize_dup(new_def)
click to toggle source
Calls superclass method
# File lib/simple_jsonapi/definition/concerns/has_meta_object.rb, line 20 def initialize_dup(new_def) super new_def.meta_definitions = meta_definitions.deep_dup end