Class: WorkflowTemplate::Adapters::Validation::DryValidation::Validator

Inherits:
Object
  • Object
show all
Extended by:
Validation::Adapter::Abstract::Validator
Defined in:
lib/workflow_template/adapters/validation/dry_validation/validator.rb

Instance Method Summary collapse

Methods included from Validation::Adapter::Abstract::Validator

validate

Constructor Details

#initialize(contract_class) ⇒ Validator

Returns a new instance of Validator.



14
15
16
# File 'lib/workflow_template/adapters/validation/dry_validation/validator.rb', line 14

def initialize(contract_class)
  @contract_class = contract_class
end

Instance Method Details

#call(input, context: {}) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/workflow_template/adapters/validation/dry_validation/validator.rb', line 18

def call(input, context: {})
  return Failure.new(self, code: :input_null) if input.nil?

  result = contract(context).call(input)
  return WorkflowTemplate::Validation::Validator::Result::Success if result.success?

  Failure.new(
    self,
    code: :input_invalid,
    data: result
  )
end

#describeObject



31
32
33
# File 'lib/workflow_template/adapters/validation/dry_validation/validator.rb', line 31

def describe
  'contract to be satisfied'
end