Method: ActiveForm::Mixins::ContainerMethods::ClassMethods#create

Defined in:
lib/active_form/mixins/container_methods.rb

#create(definition_name, prc = nil, &block) ⇒ Object



384
385
386
387
388
389
390
391
392
393
394
# File 'lib/active_form/mixins/container_methods.rb', line 384

def create(definition_name, prc = nil, &block)
  class_name = type_classname(definition_name)
  if !ActiveForm.const_defined?(class_name)
    ActiveForm.const_set(class_name, Class.new(self))
    if klass = ActiveForm.const_get(class_name)
      klass.setup_proc = (block_given? ? block : prc) 
      return klass
    end
  end
  nil
end