Sha256: 750d3617d52bb3fdb502623d930cbd8853df4d6720065886597b91cf67fa4474
Contents?: true
Size: 911 Bytes
Versions: 2
Compression:
Stored size: 911 Bytes
Contents
module Praxis module Responses class ValidationError < BadRequest def initialize(errors: nil, exception: nil, **opts) super(**opts) @headers['Content-Type'] = 'application/json' #TODO: might want an error mediatype @errors = errors @exception = exception end def format! if @errors @body = {name: 'ValidationError', errors: @errors} elsif @exception @body = {name: 'ValidationError', message: @exception.message} if @exception.cause @body[:cause] = {name: @exception.cause.class.name, message: @exception.cause.message} end @body end end end end ApiDefinition.define do |api| api.response_template :validation_error do description "When parameter validation hits..." status 400 media_type "application/json" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
praxis-0.10.1 | lib/praxis/responses/validation_error.rb |
praxis-0.10.0 | lib/praxis/responses/validation_error.rb |