Module: RequestHandler::DocumentParser

Defined in:
lib/request_handler/document_parser.rb

Constant Summary collapse

PARSER_MAPPING =
{
  nil       => JsonApiDocumentParser, # no config defaults to jsonapi
  :jsonapi  => JsonApiDocumentParser,
  :json     => JsonParser
}.freeze

Class Method Summary collapse

Class Method Details

.new(**args) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/request_handler/document_parser.rb', line 10

def new(**args)
  type = args.delete(:type)
  type = type.to_sym unless type.nil?
  PARSER_MAPPING
    .fetch(type) { raise InternalArgumentError.new(detail: "parser for type '#{type}' not found") }
    .new(args)
end