dagnabit 3.0.1 → 3.1.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.
- data/History.md +19 -0
- data/lib/dagnabit/graph.rb +19 -0
- data/lib/dagnabit/version.rb +1 -1
- metadata +88 -93
data/History.md
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
3.1.1 (2011-08-31)
|
2
|
+
==================
|
3
|
+
|
4
|
+
Bugfixes
|
5
|
+
--------
|
6
|
+
|
7
|
+
* Dagnabit <= 3.1.1 is not compatible with ActiveRecord 3.1, so tweaked its
|
8
|
+
gemspec to reflect this. To use dagnabit with ActiveRecord >= 3.1, use the
|
9
|
+
code in the activerecord-edge branch, which will likely become dagnabit
|
10
|
+
4.0.0.
|
11
|
+
|
12
|
+
3.1.0 (2011-07-28)
|
13
|
+
==================
|
14
|
+
|
15
|
+
Minor enhancements
|
16
|
+
------------------
|
17
|
+
|
18
|
+
* Added Dagnabit::Graph#sinks, a method to find sinks in a directed graph.
|
19
|
+
|
1
20
|
3.0.1 (2011-04-30)
|
2
21
|
==================
|
3
22
|
|
data/lib/dagnabit/graph.rb
CHANGED
@@ -144,5 +144,24 @@ module Dagnabit
|
|
144
144
|
|
145
145
|
ids.reject { |k, _| children[k] }.map { |_, v| v }
|
146
146
|
end
|
147
|
+
|
148
|
+
##
|
149
|
+
# Returns the sink vertices in the graph. Sinks are not returned in any
|
150
|
+
# particular order.
|
151
|
+
#
|
152
|
+
# If this method is run on a subgraph of a larger graph, then the source
|
153
|
+
# determination is done relative to the subgraph.
|
154
|
+
#
|
155
|
+
# This method expects all vertices and edges to have been persisted, and
|
156
|
+
# will return incorrect results if there exist unpersisted vertices of edges
|
157
|
+
# in the graph.
|
158
|
+
#
|
159
|
+
# @return [Array<vertex_model>] an array of sinks
|
160
|
+
def sinks
|
161
|
+
ids = vertices.inject({}) { |r, v| r.update(v.id => v) }
|
162
|
+
edge_source_ids = edges.inject({}) { |r, e| r.update(e.parent_id => true) }
|
163
|
+
|
164
|
+
ids.reject { |k, _| edge_source_ids[k] }.map { |_, v| v }
|
165
|
+
end
|
147
166
|
end
|
148
167
|
end
|
data/lib/dagnabit/version.rb
CHANGED
metadata
CHANGED
@@ -1,116 +1,116 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dagnabit
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.1.1
|
4
5
|
prerelease:
|
5
|
-
version: 3.0.1
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- David Yip
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-08-31 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: activerecord
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &2157320440 !ruby/object:Gem::Requirement
|
20
17
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
24
21
|
version: 2.3.0
|
22
|
+
- - <
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: '3.1'
|
25
25
|
type: :runtime
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: autotest
|
29
26
|
prerelease: false
|
30
|
-
|
27
|
+
version_requirements: *2157320440
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: autotest
|
30
|
+
requirement: &2157319140 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
|
-
requirements:
|
33
|
-
- -
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version:
|
32
|
+
requirements:
|
33
|
+
- - ! '>='
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
36
|
type: :development
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: bluecloth
|
40
37
|
prerelease: false
|
41
|
-
|
38
|
+
version_requirements: *2157319140
|
39
|
+
- !ruby/object:Gem::Dependency
|
40
|
+
name: bluecloth
|
41
|
+
requirement: &2157318580 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version:
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
47
|
type: :development
|
48
|
-
version_requirements: *id003
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: cucumber
|
51
48
|
prerelease: false
|
52
|
-
|
49
|
+
version_requirements: *2157318580
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: cucumber
|
52
|
+
requirement: &2157318020 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version:
|
54
|
+
requirements:
|
55
|
+
- - ! '>='
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
58
|
type: :development
|
59
|
-
version_requirements: *id004
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: rake
|
62
59
|
prerelease: false
|
63
|
-
|
60
|
+
version_requirements: *2157318020
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rake
|
63
|
+
requirement: &2157317500 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
|
-
requirements:
|
66
|
-
- -
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version:
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
69
|
type: :development
|
70
|
-
version_requirements: *id005
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: rspec
|
73
70
|
prerelease: false
|
74
|
-
|
71
|
+
version_requirements: *2157317500
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: rspec
|
74
|
+
requirement: &2157316940 !ruby/object:Gem::Requirement
|
75
75
|
none: false
|
76
|
-
requirements:
|
76
|
+
requirements:
|
77
77
|
- - ~>
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version:
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '2.0'
|
80
80
|
type: :development
|
81
|
-
version_requirements: *id006
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: pg
|
84
81
|
prerelease: false
|
85
|
-
|
82
|
+
version_requirements: *2157316940
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pg
|
85
|
+
requirement: &2157316280 !ruby/object:Gem::Requirement
|
86
86
|
none: false
|
87
|
-
requirements:
|
88
|
-
- -
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version:
|
87
|
+
requirements:
|
88
|
+
- - ! '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
91
|
type: :development
|
92
|
-
version_requirements: *id007
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: yard
|
95
92
|
prerelease: false
|
96
|
-
|
93
|
+
version_requirements: *2157316280
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: yard
|
96
|
+
requirement: &2157315700 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
|
-
requirements:
|
99
|
-
- -
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version:
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
102
|
type: :development
|
103
|
-
|
104
|
-
|
105
|
-
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: *2157315700
|
105
|
+
description: Directed acyclic graph support library for applications using ActiveRecord
|
106
|
+
on top of PostgreSQL.
|
107
|
+
email:
|
106
108
|
- yipdw@member.fsf.org
|
107
|
-
executables:
|
109
|
+
executables:
|
108
110
|
- dagnabit-test
|
109
111
|
extensions: []
|
110
|
-
|
111
112
|
extra_rdoc_files: []
|
112
|
-
|
113
|
-
files:
|
113
|
+
files:
|
114
114
|
- History.md
|
115
115
|
- MIGRATION.md
|
116
116
|
- README.md
|
@@ -138,33 +138,28 @@ files:
|
|
138
138
|
- db/models/other_vertex.rb
|
139
139
|
- db/models/vertex.rb
|
140
140
|
- db/schema.rb
|
141
|
-
has_rdoc: true
|
142
141
|
homepage: http://rubygems.org/gems/dagnabit
|
143
142
|
licenses: []
|
144
|
-
|
145
143
|
post_install_message:
|
146
144
|
rdoc_options: []
|
147
|
-
|
148
|
-
require_paths:
|
145
|
+
require_paths:
|
149
146
|
- lib
|
150
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
151
148
|
none: false
|
152
|
-
requirements:
|
153
|
-
- -
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
version:
|
156
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ! '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
154
|
none: false
|
158
|
-
requirements:
|
159
|
-
- -
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
version:
|
155
|
+
requirements:
|
156
|
+
- - ! '>='
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
162
159
|
requirements: []
|
163
|
-
|
164
160
|
rubyforge_project:
|
165
|
-
rubygems_version: 1.
|
161
|
+
rubygems_version: 1.8.6
|
166
162
|
signing_key:
|
167
163
|
specification_version: 3
|
168
164
|
summary: Directed acyclic graph plugin for ActiveRecord/PostgreSQL
|
169
165
|
test_files: []
|
170
|
-
|