Class: FreeForm::Form
Instance Method Summary
collapse
Methods included from Validation
included
Methods included from Property
#after_assign_params, #assign_params, #before_assign_params, included, #model_property_mappings
Methods included from Nested
included
Methods included from Model
included, #models
included
Constructor Details
#initialize(h = {}) ⇒ Form
Returns a new instance of Form.
31
32
33
34
|
# File 'lib/freeform/form.rb', line 31
def initialize(h={})
h.each {|k,v| send("#{k}=",v)}
initialize_child_models
end
|
Instance Method Details
#after_save ⇒ Object
67
68
|
# File 'lib/freeform/form.rb', line 67
def after_save
end
|
#before_save ⇒ Object
64
65
|
# File 'lib/freeform/form.rb', line 64
def before_save
end
|
#destroy ⇒ Object
56
57
58
|
# File 'lib/freeform/form.rb', line 56
def destroy
models.each { |m| m.destroy }
end
|
#marked_for_destruction? ⇒ Boolean
60
61
62
|
# File 'lib/freeform/form.rb', line 60
def marked_for_destruction?
respond_to?(:_destroy) ? _destroy : false
end
|
#persisted? ⇒ Boolean
Instance Methods
Required for ActiveModel
29
|
# File 'lib/freeform/form.rb', line 29
def persisted?; false end
|
#save(*args) ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/freeform/form.rb', line 36
def save(*args)
if valid?
before_save
persist_models
reload_models
after_save
true
else
false
end
end
|
#save!(*args) ⇒ Object
48
49
50
51
52
53
54
|
# File 'lib/freeform/form.rb', line 48
def save!(*args)
if valid?
save
else
raise FreeForm::FormInvalid, "form invalid."
end
end
|