Module: Grape::Formatter

Extended by:
ActiveSupport::Autoload, Util::Registrable
Defined in:
lib/grape.rb,
lib/grape/formatter.rb,
lib/grape/formatter/txt.rb,
lib/grape/formatter/xml.rb,
lib/grape/formatter/json.rb,
lib/grape/formatter/serializable_hash.rb

Defined Under Namespace

Modules: Json, SerializableHash, Txt, Xml

Class Method Summary collapse

Methods included from Util::Registrable

default_elements, register

Class Method Details

.builtin_formmatersObject


6
7
8
9
10
11
12
13
14
# File 'lib/grape/formatter.rb', line 6

def builtin_formmaters
  @builtin_formatters ||= {
    json: Grape::Formatter::Json,
    jsonapi: Grape::Formatter::Json,
    serializable_hash: Grape::Formatter::SerializableHash,
    txt: Grape::Formatter::Txt,
    xml: Grape::Formatter::Xml
  }
end

.formatter_for(api_format, **options) ⇒ Object


20
21
22
23
24
25
26
27
28
29
30
# File 'lib/grape/formatter.rb', line 20

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

.formatters(options) ⇒ Object


16
17
18
# File 'lib/grape/formatter.rb', line 16

def formatters(options)
  builtin_formmaters.merge(default_elements).merge(options[:formatters] || {})
end