class SimpleJsonapi::Definition::Meta

Represents a single member in a meta object @!attribute [r] name

@return [Symbol]

Attributes

name[R]
value_proc[R]

@visibility private

Public Class Methods

new(name, *args, **options, &block) click to toggle source

@overload initialize(name, options = {}, &block) @overload initialize(name, value, options = {}) @yieldparam object [Object] The resource or error. @yieldreturn [String,Hash] The metadata value. @option (see Definition::Base#initialize)

Calls superclass method SimpleJsonapi::Definition::Base::new
# File lib/simple_jsonapi/definition/meta.rb, line 14
def initialize(name, *args, **options, &block)
  raise ArgumentError, "A name is required" if name.blank?

  super
  @name = name
  @value_proc = wrap_in_proc(*args, &block)
end

Private Instance Methods

initialize_dup(new_def) click to toggle source
# File lib/simple_jsonapi/definition/meta.rb, line 22
        def initialize_dup(new_def)
  super
  # name is a symbol, can't be duped
  new_def.instance_variable_set(:@value_proc, @value_proc.dup)
end