acts-as-dag 2.5.7 → 3.0.0

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.
data/Gemfile CHANGED
@@ -1,8 +1,8 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
3
  gem 'bundler'
4
- gem 'rails', '3.2.3'
5
4
  gem 'rake'
5
+ gem 'rails', '3.2.12'
6
6
  gem 'rack'
7
7
  gem 'jeweler'
8
8
  gem 'sqlite3'
@@ -81,7 +81,7 @@ With polymorphic graphs we also have...
81
81
 
82
82
  Each of the optional column parameters needs a field in the link table. Hence for non-polymorphic graphs a migration would look like...
83
83
 
84
- create_table :links, do |t|
84
+ create_table :links do |t|
85
85
  t.integer :ancestor_id
86
86
  t.integer :descendant_id
87
87
  t.boolean :direct
@@ -90,7 +90,7 @@ Each of the optional column parameters needs a field in the link table. Hence fo
90
90
 
91
91
  And for polymorphic graphs...
92
92
 
93
- create_table :links, do |t|
93
+ create_table :links do |t|
94
94
  t.integer :ancestor_id
95
95
  t.string :ancestor_type
96
96
  t.integer :descendant_id
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  # As specified in test/dag_test.rb
22
- s.add_development_dependency 'activerecord', '~> 3.0.3'
22
+ s.add_development_dependency 'activerecord', '~> 3.2.12'
23
23
  s.add_development_dependency 'rake'
24
24
  s.add_development_dependency 'sqlite3'
25
25
  s.add_runtime_dependency 'activemodel'
@@ -1,7 +1,7 @@
1
1
  module Acts
2
2
  module As
3
3
  module Dag
4
- VERSION = "2.5.7"
4
+ VERSION = "3.0.0"
5
5
  end
6
6
  end
7
7
  end
@@ -63,21 +63,6 @@ module Dag
63
63
  end
64
64
  end
65
65
 
66
- #Alias for create_edge
67
- def connect(ancestor, descendant)
68
- self.create_edge(ancestor, descendant)
69
- end
70
-
71
- #Alias for create_edge!
72
- def connect!(ancestor, descendant)
73
- self.create_edge!(ancestor, descendant)
74
- end
75
-
76
- #Determines if a link exists between two points
77
- def connected?(ancestor, descendant)
78
- !self.find_link(ancestor, descendant).nil?
79
- end
80
-
81
66
  #Finds the longest path between ancestor and descendant returning as an array
82
67
  def longest_path_between(ancestor, descendant, path=[])
83
68
  longest = []
@@ -88,7 +73,7 @@ module Dag
88
73
  if temp.length > longest.length
89
74
  longest = temp
90
75
  end
91
- elsif self.connected?(child, descendant)
76
+ elsif self.find_link(child, descendant)
92
77
  temp = path.clone
93
78
  temp << child
94
79
  temp = self.longest_path_between(child, descendant, temp)
@@ -110,7 +95,7 @@ module Dag
110
95
  if shortest.blank? || temp.length < shortest.length
111
96
  shortest = temp
112
97
  end
113
- elsif self.connected?(child, descendant)
98
+ elsif self.find_link(child, descendant)
114
99
  temp = path.clone
115
100
  temp << child
116
101
  temp = self.shortest_path_between(child, descendant, temp)
@@ -320,4 +305,4 @@ module Dag
320
305
  end
321
306
 
322
307
  end
323
- end
308
+ end
@@ -1,6 +1,6 @@
1
1
  require 'test/unit'
2
2
  require 'rubygems'
3
- gem 'activerecord', '~> 3.0.3'
3
+ gem 'activerecord', '~> 3.2.8'
4
4
  require "./init"
5
5
 
6
6
 
@@ -9,13 +9,13 @@ ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => "#{F
9
9
  #Used for basic graph link testing
10
10
  class Default < ActiveRecord::Base
11
11
  acts_as_dag_links :node_class_name => 'Node'
12
- set_table_name 'edges'
12
+ self.table_name = 'edges'
13
13
  end
14
14
 
15
15
  #Used for polymorphic graph link testing
16
16
  class Poly < ActiveRecord::Base
17
17
  acts_as_dag_links :polymorphic => true
18
- set_table_name 'poly_edges'
18
+ self.table_name = 'poly_edges'
19
19
  end
20
20
 
21
21
  #Used for redefinition testing
@@ -25,43 +25,43 @@ class Redefiner < ActiveRecord::Base
25
25
  :count_column => 'c',
26
26
  :ancestor_id_column => 'foo_id',
27
27
  :descendant_id_column => 'bar_id'
28
- set_table_name 'edges2'
28
+ self.table_name = 'edges2'
29
29
  end
30
30
 
31
31
  class Node < ActiveRecord::Base
32
32
  has_dag_links :link_class_name => 'Default'
33
- set_table_name 'nodes'
33
+ self.table_name = 'nodes'
34
34
  end
35
35
 
36
36
  class RedefNode < ActiveRecord::Base
37
37
  has_dag_links :link_class_name => 'Redefiner'
38
- set_table_name 'redef_nodes'
38
+ self.table_name = 'redef_nodes'
39
39
  end
40
40
 
41
41
  class AlphaNode < ActiveRecord::Base
42
42
  has_dag_links :link_class_name => 'Poly',
43
43
  :descendant_class_names => ['BetaNode', 'GammaNode', 'ZetaNode']
44
- set_table_name 'alpha_nodes'
44
+ self.table_name = 'alpha_nodes'
45
45
  end
46
46
 
47
47
  class BetaNode < ActiveRecord::Base
48
48
  has_dag_links :link_class_name => 'Poly',
49
49
  :ancestor_class_names => ['AlphaNode', 'BetaNode'],
50
50
  :descendant_class_names => ['BetaNode', 'GammaNode', 'ZetaNode']
51
- set_table_name 'beta_nodes'
51
+ self.table_name = 'beta_nodes'
52
52
  end
53
53
 
54
54
  class GammaNode < ActiveRecord::Base
55
55
  has_dag_links :link_class_name => 'Poly',
56
56
  :ancestor_class_names => ['AlphaNode', 'BetaNode', 'GammaNode'],
57
57
  :descendant_class_names => ['GammaNode', 'ZetaNode']
58
- set_table_name 'gamma_nodes'
58
+ self.table_name = 'gamma_nodes'
59
59
  end
60
60
 
61
61
  class ZetaNode < ActiveRecord::Base
62
62
  has_dag_links :link_class_name => 'Poly',
63
63
  :ancestor_class_names => ['AlphaNode', 'BetaNode', 'GammaNode']
64
- set_table_name 'zeta_nodes'
64
+ self.table_name = 'zeta_nodes'
65
65
  end
66
66
 
67
67
 
@@ -509,34 +509,6 @@ class DagTest < Test::Unit::TestCase
509
509
  assert_nil testnil
510
510
  end
511
511
 
512
- #Tests class method connect
513
- def test_manual_connect_lonely_edge
514
- a = Node.create!
515
- b = Node.create!
516
- e = Default.connect!(a, b)
517
- e2 = Default.find_edge(a, b)
518
- assert e2.direct?
519
- assert_equal 1, e2.count
520
- assert_equal e, e2
521
- assert_equal e2.ancestor, a
522
- assert_equal e2.descendant, b
523
- end
524
-
525
- #Tests simple indirect link creation
526
- def test_auto_simple_cross
527
- a = Node.create!
528
- b = Node.create!
529
- c = Node.create!
530
- e = Default.connect(a, b)
531
- e2 = Default.connect(b, c)
532
- indirect = Default.find_link(a, c)
533
- assert !indirect.nil?
534
- assert !indirect.direct?
535
- assert_equal 1, indirect.count
536
- assert_equal a, indirect.ancestor
537
- assert_equal c, indirect.descendant
538
- end
539
-
540
512
  ##########################
541
513
  #TESTS FOR has_dag_links #
542
514
  ##########################
@@ -869,4 +841,4 @@ class DagTest < Test::Unit::TestCase
869
841
  e.destroy
870
842
  end
871
843
 
872
- end
844
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts-as-dag
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.7
4
+ version: 3.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-05-03 00:00:00.000000000 Z
13
+ date: 2013-02-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -19,7 +19,7 @@ dependencies:
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 3.0.3
22
+ version: 3.2.12
23
23
  type: :development
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,7 +27,7 @@ dependencies:
27
27
  requirements:
28
28
  - - ~>
29
29
  - !ruby/object:Gem::Version
30
- version: 3.0.3
30
+ version: 3.2.12
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: rake
33
33
  requirement: !ruby/object:Gem::Requirement
@@ -104,7 +104,6 @@ files:
104
104
  - MIT-LICENSE
105
105
  - README.rdoc
106
106
  - Rakefile
107
- - VERSION
108
107
  - acts-as-dag.gemspec
109
108
  - init.rb
110
109
  - lib/acts-as-dag.rb
@@ -129,6 +128,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
128
  - - ! '>='
130
129
  - !ruby/object:Gem::Version
131
130
  version: '0'
131
+ segments:
132
+ - 0
133
+ hash: -251717266432713559
132
134
  required_rubygems_version: !ruby/object:Gem::Requirement
133
135
  none: false
134
136
  requirements:
@@ -137,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
139
  version: '0'
138
140
  requirements: []
139
141
  rubyforge_project: acts-as-dag
140
- rubygems_version: 1.8.24
142
+ rubygems_version: 1.8.25
141
143
  signing_key:
142
144
  specification_version: 3
143
145
  summary: Directed Acyclic Graph hierarchy for Rail's ActiveRecord
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 2.5.5