class SwaggerShield::BeforeAction
Attributes
shield[R]
Public Class Methods
new(shield)
click to toggle source
# File lib/swagger_shield/before_action.rb, line 3 def initialize(shield) @shield = shield end
Public Instance Methods
before(controller)
click to toggle source
# File lib/swagger_shield/before_action.rb, line 7 def before(controller) request = controller.request params = controller.params errors = shield.validate( request.path, request.method, params.to_unsafe_h ) unless errors.empty? formatted = errors.map { |error| { status: '422', detail: error[:message], source: { pointer: error[:fragment] } } } controller.render json: { errors: formatted }, status: :unprocessable_entity end end