Class: JSONAPIonify::Api::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonapionify/api/context.rb

Instance Method Summary collapse

Constructor Details

#initialize(readonly: false, persisted: false, existing_context: nil, &block) ⇒ Context

Returns a new instance of Context.



4
5
6
7
8
9
# File 'lib/jsonapionify/api/context.rb', line 4

def initialize(readonly: false, persisted: false, existing_context: nil, &block)
  @readonly         = readonly
  @persisted        = persisted
  @existing_context = existing_context
  @block            = block
end

Instance Method Details

#call(instance, delegate) ⇒ Object



11
12
13
14
15
16
# File 'lib/jsonapionify/api/context.rb', line 11

def call(instance, delegate)
  existing_context = @existing_context || proc {}
  existing_block   = proc { existing_context.call(instance, delegate) }
  block            = @block || proc {}
  instance.instance_exec(delegate, existing_block, &block)
end

#persisted?Boolean

Returns:



22
23
24
# File 'lib/jsonapionify/api/context.rb', line 22

def persisted?
  !!@persisted
end

#readonly?Boolean

Returns:



18
19
20
# File 'lib/jsonapionify/api/context.rb', line 18

def readonly?
  !!@readonly
end