Module: JSONAPI::Serializable::Resource::Id

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

Overview

Mixin to handle resource id.

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/id.rb', line 6

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

Instance Method Details

#as_jsonapiObject



22
23
24
25
26
# File 'lib/jsonapi/serializable/resource/id.rb', line 22

def as_jsonapi(*)
  super.tap do |hash|
    hash[:id] = @_id
  end
end

#initializeObject



16
17
18
19
# File 'lib/jsonapi/serializable/resource/id.rb', line 16

def initialize(*)
  super
  @_id = instance_eval(&self.class.id_block).to_s
end