module Pathway::Plugins::DryValidation::V1_0::InstanceMethods
Public Instance Methods
validate(state, with: nil)
click to toggle source
# File lib/pathway/plugins/dry_validation/v1_0.rb, line 55 def validate(state, with: nil) if auto_wire_options && contract_options.any? with ||= contract_options.zip(contract_options).to_h end opts = Hash(with).map { |to, from| [to, state[from]] }.to_h validate_with(state[:input], opts) .then { |params| state.update(params: params) } end
validate_with(input, opts = {})
click to toggle source
# File lib/pathway/plugins/dry_validation/v1_0.rb, line 64 def validate_with(input, opts = {}) result = contract(opts).call(input) result.success? ? wrap(result.values.to_h) : error(:validation, details: result.errors.to_h) end