Base
Base class for resource serializers.
Resource serializers handle serialization of records and collections and define resource types at the contract level.
Example
ruby
class MyResourceSerializer < Serializer::Resource::Base
contract_builder Builder::Contract
def serialize(resource, context:, serialize_options:)
representation_class.serialize(resource, context:)
end
endClass Methods
.contract_builder
.contract_builder(klass = nil)
The contract builder for this serializer.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
klass | Class<Builder::Contract::Base>, nil | nil | The builder class. |
Returns
Class<Builder::Contract::Base>, nil
.data_type
.data_type(&block)
The data type for this serializer.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
block | Proc, nil | nil | Block that receives representation_class and returns type name. |
Returns
Proc, nil
Instance Methods
#representation_class
#representation_class
The representation class for this serializer.
Returns
Class<Representation::Base>
#serialize
#serialize(resource, context:, serialize_options:)
Serializes a resource.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
resource | Object | The resource to serialize. | |
context | Hash | The serialization context. | |
serialize_options | Hash | The options (e.g., include). |
Returns
Hash