Class: ActionSpec::Validator::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/action_spec/validator/runner.rb

Instance Method Summary collapse

Constructor Details

#initialize(endpoint:, controller:, coerce:) ⇒ Runner

Returns a new instance of Runner.



6
7
8
9
10
# File 'lib/action_spec/validator/runner.rb', line 6

def initialize(endpoint:, controller:, coerce:)
  @endpoint = endpoint
  @controller = controller
  @coerce = coerce
end

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/action_spec/validator/runner.rb', line 12

def call
  result = ValidationResult.new
  merge_group!(result, endpoint.request.path, source: path_source, location: :path)
  merge_group!(result, endpoint.request.query, source: params_source, location: :query)
  merge_body!(result)
  merge_group!(result, endpoint.request.header, source: header_source, location: :headers)
  merge_group!(result, endpoint.request.cookie, source: cookie_source, location: :cookies)
  result.apply_scope_options!(endpoint.request.scope_options)
  apply_custom_validations!(result)
  result
end