mementus 0.5.11 → 0.5.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c2d345ed84736981e0ea78702dc9530538d20161
4
- data.tar.gz: 2bce7c3662db759957bb7187f59a166c40c89e7e
3
+ metadata.gz: 062513a7421592da50c105498ed8f2ea0ba1fe20
4
+ data.tar.gz: 9ff80b9adb5150e584aaa7f0fb8489310af51319
5
5
  SHA512:
6
- metadata.gz: 2c20965789119478aef278ed46cb9db1c0105cbb1d3f3708bc35b83fd7481a4f107cf5d7ffffeea662182f051239e922cf028e5a1024606d891d8b87567e4a19
7
- data.tar.gz: 6d70a0d20723783667bfdc3d48b0cdea4b30debd9b5362dc3c5c51b5064bf1bc3a1dac8db6925bcaebaeb00ff2bc7cb179f6c5c59aed4baef15863d47363bbed
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.6` | Support fiber based lazily evaluated pipeline traversals |
10
- | `0.7` | Implement basic filter, side effect and transform pipes |
11
- | `0.8` | API support for Dijkstra/A* traversals using edge props |
12
- | `0.9` | Pluggable graph structure representations |
13
- | `0.10` | API support for tsort and strongly connected components |
14
- | `0.11` | Expand graph library with interesting sample data |
15
- | `0.12` | Import/export via JSON and XML formats |
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
 
@@ -36,8 +36,8 @@ module Mementus
36
36
  @structure.has_node?(node)
37
37
  end
38
38
 
39
- def has_edge?(edge)
40
- @structure.has_edge?(edge)
39
+ def has_edge?(edge, to=nil)
40
+ @structure.has_edge?(edge, to)
41
41
  end
42
42
 
43
43
  def node(id)
@@ -31,8 +31,18 @@ module Mementus
31
31
  end
32
32
  end
33
33
 
34
- def has_edge?(edge)
35
- @edges.key?(edge.id)
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)
@@ -1,3 +1,3 @@
1
1
  module Mementus
2
- VERSION = '0.5.11'.freeze
2
+ VERSION = '0.5.12'.freeze
3
3
  end
@@ -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
- specify '#has_edge?' do
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
- expect(graph.has_edge?(edge_1_2)).to be true
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.11
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: 2016-11-13 00:00:00.000000000 Z
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.5.1
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: