module Pathway::Plugins::DryValidation::V0_12::ClassMethods
Attributes
auto_wire_options[RW]
form_class[R]
form_options[R]
Public Instance Methods
build_form(opts = {})
click to toggle source
# File lib/pathway/plugins/dry_validation/v0_12.rb, line 28 def build_form(opts = {}) @builded_form || form_class.new(opts) end
form(base = nil, **opts, &block)
click to toggle source
# File lib/pathway/plugins/dry_validation/v0_12.rb, line 11 def form(base = nil, **opts, &block) if block_given? base ||= _base_form self.form_class = _block_definition(base, opts, &block) elsif base self.form_class = _form_class(base) else raise ArgumentError, 'Either a form class or a block must be provided' end end
form_class=(klass)
click to toggle source
# File lib/pathway/plugins/dry_validation/v0_12.rb, line 22 def form_class= klass @builded_form = klass.options.empty? ? klass.new : nil @form_class = klass @form_options = klass.options.keys end
inherited(subclass)
click to toggle source
Calls superclass method
# File lib/pathway/plugins/dry_validation/v0_12.rb, line 32 def inherited(subclass) super subclass.form_class = form_class subclass.auto_wire_options = auto_wire_options end
Private Instance Methods
_base_form()
click to toggle source
# File lib/pathway/plugins/dry_validation/v0_12.rb, line 40 def _base_form superclass.respond_to?(:form_class) ? superclass.form_class : Dry::Validation::Schema::Params end
_block_definition(base, opts, &block)
click to toggle source
# File lib/pathway/plugins/dry_validation/v0_12.rb, line 52 def _block_definition(base, opts, &block) Dry::Validation.Params(_form_class(base), _form_opts(opts), &block) end
_form_class(form)
click to toggle source
# File lib/pathway/plugins/dry_validation/v0_12.rb, line 44 def _form_class(form) form.is_a?(Class) ? form : form.class end
_form_opts(opts = {})
click to toggle source
# File lib/pathway/plugins/dry_validation/v0_12.rb, line 48 def _form_opts(opts = {}) opts.merge(build: false) end