Module: OpenapiBlocks::Serializer::ClassMethods
- Defined in:
- lib/openapi_blocks/serializer.rb
Overview
rubocop:disable Metrics/ModuleLength,Style/Documentation
Instance Method Summary collapse
- #compiled_extractor ⇒ Object
- #fields ⇒ Object
-
#serialize(resource, instance: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument.
- #to_json(resource) ⇒ Object
Instance Method Details
#compiled_extractor ⇒ Object
27 28 29 |
# File 'lib/openapi_blocks/serializer.rb', line 27 def compiled_extractor @compiled_extractor ||= build_compiled_extractor end |
#fields ⇒ Object
23 24 25 |
# File 'lib/openapi_blocks/serializer.rb', line 23 def fields @fields ||= resolve_fields end |
#serialize(resource, instance: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument
10 11 12 13 14 15 16 17 |
# File 'lib/openapi_blocks/serializer.rb', line 10 def serialize(resource, instance: nil) # rubocop:disable Lint/UnusedMethodArgument extractor = compiled_extractor if resource.respond_to?(:each) resource.map { |r| extractor.call(r) } else extractor.call(resource) end end |
#to_json(resource) ⇒ Object
19 20 21 |
# File 'lib/openapi_blocks/serializer.rb', line 19 def to_json(resource) Oj.dump(serialize(resource), mode: :compat) end |