module Reform::Validation::ClassMethods

Public Instance Methods

deprecate_validation_positional_args(name, options) click to toggle source
# File lib/reform/validation.rb, line 20
def deprecate_validation_positional_args(name, options)
  if name.is_a?(Symbol)
    warn "[Reform] Form::validation API is now: validation(name: :default, if:nil, schema:Schema). Please use keyword arguments instead of positional arguments."
    return {name: name}.merge(options)
  end

  return {name: :default}.merge(options) if name.nil?

  {name: :default}.merge(name)
end
validation(name = nil, options = {}, &block) click to toggle source

DSL.

# File lib/reform/validation.rb, line 10
def validation(name = nil, options = {}, &block)
  options = deprecate_validation_positional_args(name, options)
  name    = options[:name] # TODO: remove in favor of kw args in 3.0.

  heritage.record(:validation, options, &block)
  group = validation_groups.add(name, options)

  group.instance_exec(&block)
end
validation_group_class() click to toggle source
# File lib/reform/validation.rb, line 31
def validation_group_class
  raise NoValidationLibraryError, "no validation library loaded. Please include a " +
                                  "validation library such as Reform::Form::Dry"
end
validation_groups() click to toggle source
# File lib/reform/validation.rb, line 5
def validation_groups
  @groups ||= Groups.new(validation_group_class)
end