Module: JSONAPI::Serializable::Resource::Meta

Included in:
JSONAPI::Serializable::Resource
Defined in:
lib/jsonapi/serializable/resource/meta.rb

Overview

Mixin for handling resource meta.

Defined Under Namespace

Modules: DSL

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prepended(klass) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/jsonapi/serializable/resource/meta.rb', line 6

def self.prepended(klass)
  super
  klass.class_eval do
    extend DSL
    class << self
      attr_accessor :meta_val, :meta_block
    end
  end
end

Instance Method Details

#as_jsonapiObject



26
27
28
29
30
# File 'lib/jsonapi/serializable/resource/meta.rb', line 26

def as_jsonapi(*)
  super.tap do |hash|
    hash[:meta] = @_meta unless @_meta.nil?
  end
end

#initializeObject



16
17
18
19
20
21
22
23
# File 'lib/jsonapi/serializable/resource/meta.rb', line 16

def initialize(*)
  super
  @_meta = if self.class.meta_block
             instance_eval(&self.class.meta_block)
           else
             self.class.meta_val
           end
end