Class: ApiKit::ErrorSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/api_kit/error_serializer.rb

Overview

Serializer for JSON:API error responses

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(errors, options = {}) ⇒ ErrorSerializer

Initialize the error serializer

Parameters:

  • errors (ActiveModel::Errors, Array)

    errors to serialize

  • options (Hash) (defaults to: {})

    serialization options



17
18
19
20
21
22
23
24
# File 'lib/api_kit/error_serializer.rb', line 17

def initialize(errors, options = {})
  @errors = if errors.is_a?(ActiveModel::Errors)
              errors.errors
  else
              Array(errors)
  end
  @options = options
end

Instance Attribute Details

#errorsArray, ActiveModel::Errors (readonly)

The errors to be serialized

Returns:

  • (Array, ActiveModel::Errors)

    the errors to be serialized



7
8
9
# File 'lib/api_kit/error_serializer.rb', line 7

def errors
  @errors
end

#optionsHash (readonly)

Serialization options

Returns:

  • (Hash)

    serialization options



11
12
13
# File 'lib/api_kit/error_serializer.rb', line 11

def options
  @options
end

Instance Method Details

#to_json(*args) ⇒ String

Convert errors to JSON format

Parameters:

  • args (Array)

    arguments passed to to_json

Returns:

  • (String)

    JSON representation of errors



30
31
32
# File 'lib/api_kit/error_serializer.rb', line 30

def to_json(*args)
  { errors: serialized_errors }.to_json(*args)
end