Module: Pathway::Plugins::DryValidation::InstanceMethods
- Extended by:
- Forwardable
- Defined in:
- lib/pathway/plugins/dry_validation.rb
Instance Method Summary collapse
Instance Method Details
#validate(state, with: nil) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/pathway/plugins/dry_validation.rb', line 59 def validate(state, with: nil) if auto_wire && .any? with ||= .zip().to_h end opts = Hash(with).map { |to, from| [to, state[from]] }.to_h validate_with(state[:input], **opts) .then { |params| state.update(params:) } end |
#validate_with(input) ⇒ Object
68 69 70 71 72 |
# File 'lib/pathway/plugins/dry_validation.rb', line 68 def validate_with(input, **) result = contract(**).call(input) result.success? ? wrap(result.values.to_h) : error(:validation, details: result.errors.to_h) end |