module FreeForm::Model::ClassMethods

Public Instance Methods

child_model(name, opts={}, &block) click to toggle source
# File lib/freeform/form/model.rb, line 31
def child_model(name, opts={}, &block)
  declared_model(name)
  @child_models = (@child_models || []) << name

  # Defines an initializer method, such as 'initialize_address'
  #  that can be called on form initialization to build the model
  define_method("initialize_#{name}") do
    instance_variable_set("@#{name}", instance_eval(&block))
  end
end
child_models() click to toggle source
# File lib/freeform/form/model.rb, line 14
def child_models
  @child_models ||= []
end
declared_model(name, opts={}) click to toggle source
# File lib/freeform/form/model.rb, line 25
def declared_model(name, opts={})
  attr_accessor name
  @models = (@models || []) << name
end
Also aliased as: form_model
declared_models(*names) click to toggle source
# File lib/freeform/form/model.rb, line 18
def declared_models(*names)
  names.each do |name|
    declared_model(name)
  end
end
Also aliased as: form_models
form_model(name, opts={})
Alias for: declared_model
form_models(*names)
Alias for: declared_models
models() click to toggle source
# File lib/freeform/form/model.rb, line 10
def models
  @models ||= []
end