Sha256: 219bd44e88d4c1d82eeb07d14e456dbba228c224705cd9deb79abc45a698989e

Contents?: true

Size: 676 Bytes

Versions: 1

Compression:

Stored size: 676 Bytes

Contents

# frozen_string_literal: true

module Grape
  module ErrorFormatter
    module_function

    DEFAULTS = {
      serializable_hash: Grape::ErrorFormatter::Json,
      json: Grape::ErrorFormatter::Json,
      jsonapi: Grape::ErrorFormatter::Json,
      txt: Grape::ErrorFormatter::Txt,
      xml: Grape::ErrorFormatter::Xml
    }.freeze

    def formatter_for(format, error_formatters = nil, default_error_formatter = nil)
      select_formatter(error_formatters, format) || default_error_formatter || DEFAULTS[:txt]
    end

    def select_formatter(error_formatters, format)
      error_formatters&.key?(format) ? error_formatters[format] : DEFAULTS[format]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
grape-2.2.0 lib/grape/error_formatter.rb