Class: Apiwork::Adapter::Wrapper::Member::Base

Inherits:
Base
  • Object
show all
Defined in:
lib/apiwork/adapter/wrapper/member/base.rb

Overview

Base class for member response wrappers.

Member wrappers structure responses for show, create, and update actions that return a single record. Extend this class to customize how individual resources are wrapped in your API responses.

Examples:

Custom member wrapper

class MyMemberWrapper < Wrapper::Member::Base
  shape do
    reference(root_key.singular.to_sym, to: data_type)
    object?(:meta)
    .each { |type_name| merge(type_name) }
  end

  def wrap
    { root_key.singular.to_sym => data, meta: meta.presence, ** }.compact
  end
end

Direct Known Subclasses

Default

Instance Attribute Summary collapse

Attributes inherited from Base

#data

Instance Method Summary collapse

Methods inherited from Base

shape, wrap, #wrap

Constructor Details

#initialize(data, metadata, root_key, meta) ⇒ Base

Returns a new instance of Base.



48
49
50
51
52
53
# File 'lib/apiwork/adapter/wrapper/member/base.rb', line 48

def initialize(data, , root_key, meta)
  super(data)
  @metadata = 
  @root_key = root_key
  @meta = meta
end

Instance Attribute Details

#metaHash (readonly)

The meta for this wrapper.

Returns:

  • (Hash)


44
45
46
# File 'lib/apiwork/adapter/wrapper/member/base.rb', line 44

def meta
  @meta
end

#metadataHash (readonly)

The metadata for this wrapper.

Returns:

  • (Hash)


44
45
46
# File 'lib/apiwork/adapter/wrapper/member/base.rb', line 44

attr_reader :meta,
:metadata,
:root_key

#root_keyObject (readonly)



44
45
46
# File 'lib/apiwork/adapter/wrapper/member/base.rb', line 44

attr_reader :meta,
:metadata,
:root_key