class Bocu::Middleware::Parser

Constants

DATA_KEYS

Public Instance Methods

on_complete(env) click to toggle source
# File lib/bocu/middleware/parser.rb, line 6
def on_complete(env)
  env[:body] = parse(env[:body])
end

Private Instance Methods

includes_data_keys?(json) click to toggle source
# File lib/bocu/middleware/parser.rb, line 12
def includes_data_keys?(json)
  (json.keys & DATA_KEYS).any?
end
parse(body) click to toggle source
# File lib/bocu/middleware/parser.rb, line 16
def parse(body)
  json = parsed_json(body)
  metadata = json.slice!(*DATA_KEYS) if includes_data_keys?(json)

  { data: json, metadata: metadata || {} }
end
parsed_json(body) click to toggle source
# File lib/bocu/middleware/parser.rb, line 23
def parsed_json(body)
  MultiJson.load(body, symbolize_keys: true)
end