Class: Apiwork::Adapter::Serializer::Error::Base
- Inherits:
-
Object
- Object
- Apiwork::Adapter::Serializer::Error::Base
- Defined in:
- lib/apiwork/adapter/serializer/error/base.rb
Overview
Base class for error serializers.
Error serializers handle serialization of errors and define error-related types at the API level.
Direct Known Subclasses
Class Method Summary collapse
-
.api_builder(klass = nil) ⇒ Class<Builder::API::Base>?
The API builder for this serializer.
-
.data_type(name = nil) ⇒ Symbol?
The data type for this serializer.
- .serialize(error, context:) ⇒ Object
Instance Method Summary collapse
- #api_types(api_class) ⇒ Object
-
#serialize(error, context:) ⇒ Hash
Serializes an error.
Class Method Details
.api_builder(klass = nil) ⇒ Class<Builder::API::Base>?
The API builder for this serializer.
44 45 46 47 |
# File 'lib/apiwork/adapter/serializer/error/base.rb', line 44 def api_builder(klass = nil) @api_builder = klass if klass @api_builder end |
.data_type(name = nil) ⇒ Symbol?
The data type for this serializer.
33 34 35 36 |
# File 'lib/apiwork/adapter/serializer/error/base.rb', line 33 def data_type(name = nil) @data_type = name if name @data_type end |
.serialize(error, context:) ⇒ Object
23 24 25 |
# File 'lib/apiwork/adapter/serializer/error/base.rb', line 23 def serialize(error, context:) new.serialize(error, context:) end |
Instance Method Details
#api_types(api_class) ⇒ Object
50 51 52 53 54 55 |
# File 'lib/apiwork/adapter/serializer/error/base.rb', line 50 def api_types(api_class) builder_class = self.class.api_builder return unless builder_class builder_class.new(api_class, data_type: self.class.data_type).build end |
#serialize(error, context:) ⇒ Hash
Serializes an error.
65 66 67 |
# File 'lib/apiwork/adapter/serializer/error/base.rb', line 65 def serialize(error, context:) raise NotImplementedError end |