Sha256: 29b287001490a4465d794b375052a582b20081a716bd2b9e5652dcf1f8756770
Contents?: true
Size: 545 Bytes
Versions: 6
Compression:
Stored size: 545 Bytes
Contents
require 'json-schema' require 'esplanade/error' module Esplanade class Request class Validation def initialize(doc, raw) @doc = doc @raw = raw end def valid! @error ||= JSON::Validator.fully_validate(@doc.json_schema, @raw.body.to_hash) raise Invalid, message if @error != [] end private def message { method: @raw.method, path: @raw.path, body: @raw.body.to_string, error: @error } end end end end
Version data entries
6 entries across 6 versions & 1 rubygems