Method: Modern::DSL::RouteBuilder#output_converter

Defined in:
lib/modern/dsl/route_builder.rb

#output_converter(media_type_or_converter, &block) ⇒ Object



88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/modern/dsl/route_builder.rb', line 88

def output_converter(media_type_or_converter, &block)
  if media_type_or_converter.is_a?(Modern::Descriptor::Converters::Output::Base)
    @value = @value.copy(output_converters: @value.output_converters + [media_type_or_converter])
  elsif media_type_or_converter.is_a?(String) && !block.nil?
    output_converter(
      Modern::Descriptor::Converters::Output::Base.new(
        media_type: media_type_or_converter, converter: block
      )
    )
  else
    raise "must pass a String and block or a Modern::Descriptor::Converters::Output::Base."
  end
end