Class: RailsAutodoc::Serializers::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_autodoc/serializers/registry.rb

Constant Summary collapse

ADAPTERS =
[
  Alba.new,
  Blueprinter.new,
  ActiveModelSerializer.new
].freeze

Instance Method Summary collapse

Instance Method Details

#active_adaptersObject



17
18
19
# File 'lib/rails_autodoc/serializers/registry.rb', line 17

def active_adapters
  ADAPTERS.select(&:detect?)
end

#schema_for(serializer_class) ⇒ Object



21
22
23
24
25
26
# File 'lib/rails_autodoc/serializers/registry.rb', line 21

def schema_for(serializer_class)
  adapter = active_adapters.find do |candidate|
    candidate.schema_for(serializer_class).fetch(:properties, {}).any?
  end
  adapter ? adapter.schema_for(serializer_class) : { type: "object" }
end