class Reform::Form::Dry::Validations::Group
Attributes
block[R]
schema_inject_params[R]
validator[R]
Public Class Methods
new(options)
click to toggle source
# File lib/reform/form/dry.rb, line 31 def initialize(options) @validator = options.fetch(:contract, Contract) @schema_inject_params = options.fetch(:with, {}) end
Public Instance Methods
call(form)
click to toggle source
# File lib/reform/form/dry.rb, line 42 def call(form) # when passing options[:schema] the class instance is already created so we just need to call # "call" return validator.call(input_hash(form)) unless validator.is_a?(Class) && @validator <= ::Dry::Validation::Contract dynamic_options = { form: form } inject_options = schema_inject_params.merge(dynamic_options) contract.new(**inject_options).call(input_hash(form)) end
contract()
click to toggle source
# File lib/reform/form/dry.rb, line 52 def contract @contract ||= Class.new(validator, &block) end
instance_exec(&block)
click to toggle source
# File lib/reform/form/dry.rb, line 38 def instance_exec(&block) @block = block end