acts_as_dag 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # ActsAsDAG
1
+ # ActsAsDAG [![Gem Version](https://badge.fury.io/rb/acts_as_dag.svg)](http://badge.fury.io/rb/acts_as_dag)
2
2
 
3
3
  Adds Directed Acyclic Graph functionality to ActiveRecord
4
4
 
@@ -346,7 +346,7 @@ module ActsAsDAG
346
346
  validate :not_self_referential
347
347
 
348
348
  def not_self_referential
349
- errors.add(:base, "Self referential links #{self.class} cannot be created.") if parent_id == child_id
349
+ errors.add(:base, "Self referential links #{self.class} cannot be created.") if parent_id && parent_id == child_id
350
350
  end
351
351
  end
352
352
 
@@ -651,6 +651,36 @@ describe 'acts_as_dag' do
651
651
  record.reload
652
652
  expect(record.ancestors).to contain_exactly(mom, dad)
653
653
  end
654
+
655
+ it "correctly assigns unsaved parents" do
656
+ unsaved = klass.new
657
+ record = klass.create!(:parents => [unsaved])
658
+ expect(record.parents).to contain_exactly(unsaved)
659
+ end
660
+
661
+ it "correctly assigns chains of unsaved parents" do
662
+ unsaved_ancestor = klass.new
663
+ unsaved_parent = klass.new(:parents => [unsaved_ancestor])
664
+ record = klass.create!(:parents => [unsaved_parent])
665
+
666
+ expect(record.parents).to contain_exactly(unsaved_parent)
667
+ expect(unsaved_parent.parents).to contain_exactly(unsaved_ancestor)
668
+ end
669
+
670
+ it "correctly assigns unsaved children" do
671
+ unsaved = klass.new
672
+ record = klass.create!(:children => [unsaved])
673
+ expect(record.children).to contain_exactly(unsaved)
674
+ end
675
+
676
+ it "correctly assigns chains of unsaved children" do
677
+ unsaved_descendant = klass.new
678
+ unsaved_child = klass.new(:children => [unsaved_descendant])
679
+ record = klass.create!(:children => [unsaved_child])
680
+
681
+ expect(record.children).to contain_exactly(unsaved_child)
682
+ expect(unsaved_child.children).to contain_exactly(unsaved_descendant)
683
+ end
654
684
  end
655
685
 
656
686
  describe '::reset_hierarchy' do
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_dag
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Nicholas Jakobsen
@@ -9,11 +10,12 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2014-06-05 00:00:00.000000000 Z
13
+ date: 2015-05-20 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: activerecord
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
20
  - - "~>"
19
21
  - !ruby/object:Gem::Version
@@ -21,6 +23,7 @@ dependencies:
21
23
  type: :runtime
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
28
  - - "~>"
26
29
  - !ruby/object:Gem::Version
@@ -28,6 +31,7 @@ dependencies:
28
31
  - !ruby/object:Gem::Dependency
29
32
  name: rspec
30
33
  requirement: !ruby/object:Gem::Requirement
34
+ none: false
31
35
  requirements:
32
36
  - - "~>"
33
37
  - !ruby/object:Gem::Version
@@ -35,6 +39,7 @@ dependencies:
35
39
  type: :development
36
40
  prerelease: false
37
41
  version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
38
43
  requirements:
39
44
  - - "~>"
40
45
  - !ruby/object:Gem::Version
@@ -45,35 +50,36 @@ executables: []
45
50
  extensions: []
46
51
  extra_rdoc_files: []
47
52
  files:
48
- - LICENSE
49
- - README.md
50
- - lib/acts_as_dag.rb
51
53
  - lib/acts_as_dag/acts_as_dag.rb
52
54
  - lib/acts_as_dag/deprecated.rb
55
+ - lib/acts_as_dag.rb
53
56
  - spec/acts_as_dag_spec.rb
54
57
  - spec/deprecated_spec.rb
55
58
  - spec/spec_helper.rb
59
+ - LICENSE
60
+ - README.md
56
61
  homepage: http://github.com/rrn/acts_as_dag
57
62
  licenses: []
58
- metadata: {}
59
63
  post_install_message:
60
64
  rdoc_options: []
61
65
  require_paths:
62
66
  - lib
63
67
  required_ruby_version: !ruby/object:Gem::Requirement
68
+ none: false
64
69
  requirements:
65
70
  - - ">="
66
71
  - !ruby/object:Gem::Version
67
72
  version: '0'
68
73
  required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
69
75
  requirements:
70
76
  - - ">="
71
77
  - !ruby/object:Gem::Version
72
78
  version: '0'
73
79
  requirements: []
74
80
  rubyforge_project:
75
- rubygems_version: 2.4.6
81
+ rubygems_version: 1.8.25
76
82
  signing_key:
77
- specification_version: 4
83
+ specification_version: 3
78
84
  summary: Adds directed acyclic graph functionality to ActiveRecord.
79
85
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 2ef664650fe43597abf3351e148b8901a5a93fbc
4
- data.tar.gz: e0815bacf6b301658b2f09ea4dd3145c77c53ef1
5
- SHA512:
6
- metadata.gz: 64d34f683f65f295c96b7673f47fd070fa5fb14150349ee2c3232bd81dce0523c20777d76f07e7f303e5de3ecd0257724b73672fc5635860726bb78a1b33738f
7
- data.tar.gz: 604d62acc24f1d45c81672a9f757218cdd2d05a4c368edd6eece10218e089ace703d235a17e7b8e5a57d07bf0e35ad6aa5d26a5997e5066117ef9fc176cc4603