Module: JSONAPI::Realizer
- Defined in:
- lib/jsonapi/realizer.rb,
lib/jsonapi/realizer/action.rb,
lib/jsonapi/realizer/adapter.rb,
lib/jsonapi/realizer/version.rb,
lib/jsonapi/realizer/resource.rb,
lib/jsonapi/realizer/action/show.rb,
lib/jsonapi/realizer/action/index.rb,
lib/jsonapi/realizer/action/create.rb,
lib/jsonapi/realizer/action/update.rb,
lib/jsonapi/realizer/adapter/memory.rb,
lib/jsonapi/realizer/adapter/active_record.rb
Defined Under Namespace
Modules: Resource
Classes: Action, Adapter
Constant Summary
collapse
- VERSION =
"2.0.3"
Class Method Summary
collapse
Class Method Details
.create(payload, headers:) ⇒ Object
32
33
34
|
# File 'lib/jsonapi/realizer.rb', line 32
def self.create(payload, headers:)
enact(Action::Create.new(payload: payload, headers: ))
end
|
.index(payload, headers:, type:) ⇒ Object
44
45
46
|
# File 'lib/jsonapi/realizer.rb', line 44
def self.index(payload, headers:, type:)
enact(Action::Index.new(payload: payload, headers: , type: type))
end
|
.register(resource_class:, model_class:, adapter:, type:) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/jsonapi/realizer.rb', line 12
def self.register(resource_class:, model_class:, adapter:, type:)
@mapping ||= Set.new
@mapping << OpenStruct.new({
resource_class: resource_class,
model_class: model_class,
adapter: adapter,
type: type.dasherize,
attributes: OpenStruct.new({}),
relationships: OpenStruct.new({})
})
end
|
.resource_mapping ⇒ Object
24
25
26
|
# File 'lib/jsonapi/realizer.rb', line 24
def self.resource_mapping
@mapping.index_by(&:resource_class)
end
|
.show(payload, headers:, type:) ⇒ Object
40
41
42
|
# File 'lib/jsonapi/realizer.rb', line 40
def self.show(payload, headers:, type:)
enact(Action::Show.new(payload: payload, headers: , type: type))
end
|
.type_mapping ⇒ Object
28
29
30
|
# File 'lib/jsonapi/realizer.rb', line 28
def self.type_mapping
@mapping.index_by(&:type)
end
|
.update(payload, headers:) ⇒ Object
36
37
38
|
# File 'lib/jsonapi/realizer.rb', line 36
def self.update(payload, headers:)
enact(Action::Update.new(payload: payload, headers: ))
end
|