Module: JSONAPI::Realizer
- Defined in:
- lib/jsonapi/realizer.rb,
lib/jsonapi/realizer/error.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/action/destroy.rb,
lib/jsonapi/realizer/adapter/memory.rb,
lib/jsonapi/realizer/adapter/active_record.rb,
lib/jsonapi/realizer/error/invalid_accept_header.rb,
lib/jsonapi/realizer/error/missing_accept_header.rb,
lib/jsonapi/realizer/error/missing_root_property.rb,
lib/jsonapi/realizer/error/invalid_content_type_header.rb,
lib/jsonapi/realizer/error/missing_content_type_header.rb,
lib/jsonapi/realizer/error/malformed_data_root_property.rb,
lib/jsonapi/realizer/error/include_without_data_property.rb,
lib/jsonapi/realizer/error/missing_type_resource_property.rb
Defined Under Namespace
Modules: Resource
Classes: Action, Adapter, Error
Constant Summary
collapse
- VERSION =
"4.0.1"
Class Method Summary
collapse
-
.create(payload, headers:, scope: nil) ⇒ Object
-
.index(payload, headers:, type:, scope: nil) ⇒ Object
-
.register(resource_class:, model_class:, adapter:, type:) ⇒ Object
-
.resource_mapping ⇒ Object
-
.show(payload, headers:, type:, scope: nil) ⇒ Object
-
.type_mapping ⇒ Object
-
.update(payload, headers:, scope: nil) ⇒ Object
Class Method Details
.create(payload, headers:, scope: nil) ⇒ Object
36
37
38
|
# File 'lib/jsonapi/realizer.rb', line 36
def self.create(payload, headers:, scope: nil)
enact(Action::Create.new(payload: payload, headers: , scope: scope))
end
|
.index(payload, headers:, type:, scope: nil) ⇒ Object
48
49
50
|
# File 'lib/jsonapi/realizer.rb', line 48
def self.index(payload, headers:, type:, scope: nil)
enact(Action::Index.new(payload: payload, headers: , type: type, scope: scope))
end
|
.register(resource_class:, model_class:, adapter:, type:) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/jsonapi/realizer.rb', line 16
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
28
29
30
|
# File 'lib/jsonapi/realizer.rb', line 28
def self.resource_mapping
@mapping.index_by(&:resource_class)
end
|
.show(payload, headers:, type:, scope: nil) ⇒ Object
44
45
46
|
# File 'lib/jsonapi/realizer.rb', line 44
def self.show(payload, headers:, type:, scope: nil)
enact(Action::Show.new(payload: payload, headers: , type: type, scope: scope))
end
|
.type_mapping ⇒ Object
32
33
34
|
# File 'lib/jsonapi/realizer.rb', line 32
def self.type_mapping
@mapping.index_by(&:type)
end
|
.update(payload, headers:, scope: nil) ⇒ Object
40
41
42
|
# File 'lib/jsonapi/realizer.rb', line 40
def self.update(payload, headers:, scope: nil)
enact(Action::Update.new(payload: payload, headers: , scope: scope))
end
|