Module: OpenapiBlocks::AutoSerialize

Defined in:
lib/openapi_blocks/auto_serialize.rb

Overview

rubocop:disable Style/Documentation

Instance Method Summary collapse

Instance Method Details

#render(options = nil, extra = nil) ⇒ Object

rubocop:disable Metrics/MethodLength



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/openapi_blocks/auto_serialize.rb', line 5

def render(options = nil, extra = nil, &) # rubocop:disable Metrics/MethodLength
  if auto_serialize_candidate?(options)
    object     = options[:json]
    serializer = Registry.resolve(object)

    if serializer
      log_serializer(object, serializer)
      options = options.merge(json: serializer.serialize(object))
    else
      warn_no_serializer(object)
    end
  end

  super
end