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.
33
34
35
36
|
# File 'lib/freeform/form.rb', line 33
def initialize(h={})
h.each {|k,v| send("#{k}=",v)}
initialize_child_models
end
|
Instance Method Details
#after_save ⇒ Object
69
70
|
# File 'lib/freeform/form.rb', line 69
def after_save
end
|
#before_save ⇒ Object
66
67
|
# File 'lib/freeform/form.rb', line 66
def before_save
end
|
#destroy ⇒ Object
58
59
60
|
# File 'lib/freeform/form.rb', line 58
def destroy
models.each { |m| m.destroy }
end
|
#marked_for_destruction? ⇒ Boolean
62
63
64
|
# File 'lib/freeform/form.rb', line 62
def marked_for_destruction?
respond_to?(:_destroy) ? _destroy : false
end
|
#persisted? ⇒ Boolean
Instance Methods
Required for ActiveModel
31
|
# File 'lib/freeform/form.rb', line 31
def persisted?; false end
|
#save(*args) ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/freeform/form.rb', line 38
def save(*args)
if valid?
before_save
persist_models
reload_models
after_save
true
else
false
end
end
|
#save!(*args) ⇒ Object
50
51
52
53
54
55
56
|
# File 'lib/freeform/form.rb', line 50
def save!(*args)
if valid?
save
else
raise FreeForm::FormInvalid, "form invalid."
end
end
|