Sha256: f2bb14ce968e1d82bad31927256130f3489d27aa2cc63686af820a148feb9d56
Contents?: true
Size: 821 Bytes
Versions: 21
Compression:
Stored size: 821 Bytes
Contents
# frozen_string_literal: true module Grape module Formatter extend Util::Registrable class << self def builtin_formatters @builtin_formatters ||= { json: Grape::Formatter::Json, jsonapi: Grape::Formatter::Json, serializable_hash: Grape::Formatter::SerializableHash, txt: Grape::Formatter::Txt, xml: Grape::Formatter::Xml } end def formatters(**options) builtin_formatters.merge(default_elements).merge!(options[:formatters] || {}) end def formatter_for(api_format, **options) spec = formatters(**options)[api_format] case spec when nil ->(obj, _env) { obj } when Symbol method(spec) else spec end end end end end
Version data entries
21 entries across 21 versions & 2 rubygems