freeform 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZmM3NmYwN2Q0MzBjODk2MTRlNzA3NjU0YWRjMWI1YTY3MjMxNjI1Yw==
4
+ YWE2NTA4YmE3ZWY3ZjNjMDkzM2VmOTA4NzU5ZjI4Mjc3ZGQ0NTFkOA==
5
5
  data.tar.gz: !binary |-
6
- YjVmOTEzMDZmNTNiNmQ2MGIwZTllMGRjMmI5NWU4ODFiYWFhMzhjMw==
6
+ Y2U1NjU4ZWJkZDIzOGMwODkwMDY5YTY3ZmFmOTRkOTdjMTRlZTA3Yg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YjU2ZDBlNTA2ZjNkZDdjZjgyMzY4NTg0NWRjZjM0ZTI0NjUwNWI5ZjZmZWMy
10
- ZjUxNWFhZWQ2ZjZmODMyYzdmYjI4ZjJkNGIzNmEyYjhiNzNkMzMyY2E3NDMx
11
- ZDgyOWI2M2ZlNjZiMTQxNDBkYzdjZWVmOTg0NzE3YzlhMDVlMWY=
9
+ MmJiNTNlMDUyM2U1ZThlZDJhODFkYzNjOTVlNmQ5MzAzYjViZmE3ZWRkZGIz
10
+ Zjc1Y2ZmNTY0MDY3NjhmYWZjNWM4MGRhNDM0Y2M2YTVhOTk5ZWFmNGE0NTgw
11
+ MDJjMmNjOWRiN2I0ZTlmYWFjZWY1ZDhmNmMxZDYzMGY3OGVjOWY=
12
12
  data.tar.gz: !binary |-
13
- NTZhNjZjYmEzZWQxOWI4YTZmMjlhMjg5MTQ4OGJiYWY1MzQyZmE3NDVlYjA0
14
- M2I4MGM2NDhkZGRkODdiYjZjMTU0YWRhMzRhNGQ5OTEyNDU4OTZkNTI0ZDJm
15
- OTNiMTc0ZmU1YzZhMTE2ODBiZTIxOTQ4NTk2NWY2ZTA5YjA2NGQ=
13
+ YjhhZWZhZGJhYjA4NjYwZTljM2ExNDE5NGJjYzAxNzJkZjhmM2RjMTdjZmYw
14
+ NDgyMmVhNjFjNjE0Y2ZiN2ZkNzFlOGU0NTZhOTViMTNhMjQ2OTYyM2JiMTlj
15
+ MmIwNzU1MjlmYTEwZGUwNWJhZDczMTcxMzFhZjZiZmEwZmIzOWM=
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- freeform (2.0.0rc1)
4
+ freeform (2.0.0)
5
5
  activemodel
6
6
  formtastic
7
7
  rails (>= 3.2.0)
@@ -35,11 +35,10 @@ module FreeForm
35
35
  initialize_child_models
36
36
  end
37
37
 
38
- def save
38
+ def save(*args)
39
39
  if valid?
40
40
  before_save
41
- models.each { |m| m.destroy if m.marked_for_destruction? }
42
- models.each { |m| m.save unless m.marked_for_destruction? }
41
+ persist_models
43
42
  after_save
44
43
  true
45
44
  else
@@ -47,7 +46,7 @@ module FreeForm
47
46
  end
48
47
  end
49
48
 
50
- def save!
49
+ def save!(*args)
51
50
  if valid?
52
51
  save
53
52
  else
@@ -75,5 +74,11 @@ module FreeForm
75
74
  send("initialize_#{c}")
76
75
  end
77
76
  end
77
+
78
+ def persist_models
79
+ models.each { |m| m.destroy if m.marked_for_destruction? }
80
+ # We skip validation for underlying models, since we've already run our validation.
81
+ models.each { |m| m.save(:validate => false) unless m.marked_for_destruction? }
82
+ end
78
83
  end
79
84
  end
@@ -1,3 +1,3 @@
1
1
  module Freeform
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
@@ -4,4 +4,5 @@ class Task < ActiveRecord::Base
4
4
 
5
5
  validates :project, :presence => true
6
6
  validates :start_date, :presence => true
7
+ validates_associated :milestones
7
8
  end
@@ -185,7 +185,7 @@ describe FreeForm::Form do
185
185
  end
186
186
 
187
187
  describe "#save" do
188
- it "should return true on 'save'" do
188
+ it "should return true on 'save'", :failing => true do
189
189
  form.save.should be_true
190
190
  end
191
191
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freeform
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - brycesenz