Module: Middlewares::Validator::Inline

Defined in:
lib/endpoint_flux/tasks/endpoint_flux/generators/endpoint_flux/middlewares/validator/inline.rb

Class Method Summary collapse

Class Method Details

.perform(request, response, _options, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/endpoint_flux/tasks/endpoint_flux/generators/endpoint_flux/middlewares/validator/inline.rb', line 4

def self.perform(request, response, _options, &block)
  raise 'InlineValidator requires block with validations' unless block_given?

  validation = ::Dry::Validation.Schema(::Validations::Base, &block).call(request.params)
  unless validation.success?
    raise EndpointFlux::Exceptions::Validation, validation.messages
  end
  request.params = validation.output

  [request, response]
end