mementus 0.5.11 → 0.5.12
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 +4 -4
- data/README.md +10 -9
- data/lib/mementus/graph.rb +2 -2
- data/lib/mementus/structure/incidence_list.rb +12 -2
- data/lib/mementus/version.rb +1 -1
- data/spec/graph_spec.rb +12 -2
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 062513a7421592da50c105498ed8f2ea0ba1fe20
|
4
|
+
data.tar.gz: 9ff80b9adb5150e584aaa7f0fb8489310af51319
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 801cd4a359833cba81516275719d23bde7959d9081488b34548a734fd1f3d1e8bb205140c443ae01e65596c0ee41a2d0e19e5d88d15f59de38e8d78d557fd70c
|
7
|
+
data.tar.gz: f3bc38a6e68fcc0bcbef5271b639599bd5e44e744b29b2b8fc0ed0b7763b083001e8c702d65fa6b6bce88d0effdc7f69e04e05ae48b381eac9fbeabca615a2ee
|
data/README.md
CHANGED
@@ -4,15 +4,16 @@
|
|
4
4
|
|
5
5
|
## Roadmap
|
6
6
|
|
7
|
-
| Version | Summary
|
8
|
-
|
9
|
-
| `0.
|
10
|
-
| `0.
|
11
|
-
| `0.
|
12
|
-
| `0.
|
13
|
-
| `0.
|
14
|
-
| `0.
|
15
|
-
| `0.
|
7
|
+
| Version | Summary |
|
8
|
+
|---------|--------------------------------------------------------------|
|
9
|
+
| `0.5` | ~~Support fiber based lazily evaluated pipeline traversals~~ |
|
10
|
+
| `0.6` | Modular graph processing API and query style |
|
11
|
+
| `0.7` | Implement basic filter, side effect and transform pipes |
|
12
|
+
| `0.8` | API support for Dijkstra/A* traversals using edge props |
|
13
|
+
| `0.9` | Pluggable graph structure representations |
|
14
|
+
| `0.10` | API support for tsort and strongly connected components |
|
15
|
+
| `0.11` | Expand graph library with interesting sample data |
|
16
|
+
| `0.12` | Import/export via JSON and XML formats |
|
16
17
|
|
17
18
|
## License
|
18
19
|
|
data/lib/mementus/graph.rb
CHANGED
@@ -31,8 +31,18 @@ module Mementus
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
def has_edge?(edge)
|
35
|
-
|
34
|
+
def has_edge?(edge, to=nil)
|
35
|
+
if to
|
36
|
+
return node(edge).outgoing.any? do |target_node|
|
37
|
+
target_node.id == to
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
if edge.is_a?(Mementus::Edge) || edge.is_a?(Mementus::EdgeProxy)
|
42
|
+
@edges.key?(edge.id)
|
43
|
+
else
|
44
|
+
@edges.key?(edge)
|
45
|
+
end
|
36
46
|
end
|
37
47
|
|
38
48
|
def set_node(node)
|
data/lib/mementus/version.rb
CHANGED
data/spec/graph_spec.rb
CHANGED
@@ -143,12 +143,22 @@ describe Mementus::Graph do
|
|
143
143
|
expect(graph.has_node?(node_1.id)).to be true
|
144
144
|
end
|
145
145
|
|
146
|
-
|
146
|
+
describe '#has_edge?' do
|
147
147
|
graph = Mementus::Graph.new do
|
148
148
|
set_edge(edge_1_2)
|
149
149
|
end
|
150
150
|
|
151
|
-
|
151
|
+
specify 'edge' do
|
152
|
+
expect(graph.has_edge?(edge_1_2)).to be true
|
153
|
+
end
|
154
|
+
|
155
|
+
specify 'edge.id' do
|
156
|
+
expect(graph.has_edge?(edge_1_2.id)).to be true
|
157
|
+
end
|
158
|
+
|
159
|
+
specify 'from.id, to.id' do
|
160
|
+
expect(graph.has_edge?(1, 2)).to be true
|
161
|
+
end
|
152
162
|
end
|
153
163
|
|
154
164
|
specify '#node(id)' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mementus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- maetl
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
version: '0'
|
134
134
|
requirements: []
|
135
135
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.
|
136
|
+
rubygems_version: 2.6.11
|
137
137
|
signing_key:
|
138
138
|
specification_version: 4
|
139
139
|
summary: Graph data structure toolkit for Ruby applications.
|
@@ -156,3 +156,4 @@ test_files:
|
|
156
156
|
- spec/structure/indexed_graph_example.rb
|
157
157
|
- spec/structure/property_graph_example.rb
|
158
158
|
- spec/traversal_spec.rb
|
159
|
+
has_rdoc:
|