Method: ActiveForm::Validator::Base.create

Defined in:
lib/active_form/validators/base.rb

.create(definition_name, &block) ⇒ Object



107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/active_form/validators/base.rb', line 107

def create(definition_name, &block)
  class_name = name_to_class_name(definition_name)
  if !ActiveForm::Validator.const_defined?(class_name)
    ActiveForm::Validator.const_set(class_name, Class.new(self))
    if klass = ActiveForm::Validator.const_get(class_name)
      klass.module_eval(&block) if block_given?
      ActiveForm::Validator::register(klass)
      return klass
    end
  end
  nil
end