Class: Respondo::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/respondo/configuration.rb

Overview

Global configuration for Respondo.

Examples:

Respondo.configure do |config|
  config.default_success_message = "OK"
  config.default_error_message   = "Something went wrong"
  config.include_request_id      = true
  config.camelize_keys           = true
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



37
38
39
40
41
42
43
44
# File 'lib/respondo/configuration.rb', line 37

def initialize
  @default_success_message = "Success"
  @default_error_message   = "An error occurred"
  @include_request_id      = false
  @camelize_keys           = false
  @serializer              = nil
  @default_meta            = {}  # e.g. { api_version: "v1", env: "production" }
end

Instance Attribute Details

#camelize_keysObject

When true, all response keys are camelized (suits Flutter/JS clients)



24
25
26
# File 'lib/respondo/configuration.rb', line 24

def camelize_keys
  @camelize_keys
end

#default_error_messageObject

Message used when none is supplied to render_error



18
19
20
# File 'lib/respondo/configuration.rb', line 18

def default_error_message
  @default_error_message
end

#default_metaObject

Static key-value pairs merged into every response’s meta block.

Examples:

config.default_meta = { api_version: "v1", platform: "mobile" }


35
36
37
# File 'lib/respondo/configuration.rb', line 35

def default_meta
  @default_meta
end

#default_success_messageObject

Message used when none is supplied to render_success



15
16
17
# File 'lib/respondo/configuration.rb', line 15

def default_success_message
  @default_success_message
end

#include_request_idObject

When true, includes request.request_id in every meta block (Rails only)



21
22
23
# File 'lib/respondo/configuration.rb', line 21

def include_request_id
  @include_request_id
end

#serializerObject

Custom serializer callable — receives (object) and must return a Hash. Defaults to nil (built-in serialization strategy is used).

Examples:

use ActiveModelSerializers

config.serializer = ->(obj) { SomeSerializer.new(obj).as_json }


30
31
32
# File 'lib/respondo/configuration.rb', line 30

def serializer
  @serializer
end