rgl 0.5.6 → 0.5.9
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/ChangeLog +27 -1
- data/README.md +27 -33
- data/Rakefile +14 -14
- data/examples/examples.rb +11 -9
- data/examples/unix.dot +53 -0
- data/lib/rgl/base.rb +1 -1
- data/lib/rgl/bellman_ford.rb +0 -2
- data/lib/rgl/dijkstra.rb +2 -2
- data/lib/rgl/graphxml.rb +2 -2
- data/lib/rgl/rdot.rb +1 -1
- metadata +33 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46f0ba3170d9e82f84439dcb11ef208feb2d5d593334a09df409552e1b5bfc9d
|
4
|
+
data.tar.gz: d4eb269e797b26c41e64dc92d27f5dd54a6ed42192ba66ca2a32274cdc4cdc6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da77a826c9b614ab96717a5c982ca89e9c1d14e947277a10e2cd0c267871f16f2b50356b80afe8d8f8f0a954e5968fba167f9758c3b65b9370f64e4fed1bbc23
|
7
|
+
data.tar.gz: f950c03d0b707ac672fa0adb3a80ff7fd6ad8ddfd92e50abdffda4f36dd0e7d67ec73ca5eb815783d40f222336e2a8298cd79285b5d95f4447affc7333467e1a
|
data/ChangeLog
CHANGED
@@ -1,4 +1,30 @@
|
|
1
|
-
|
1
|
+
2022-08 Release 0.5.9
|
2
|
+
|
3
|
+
Dan Čermák
|
4
|
+
* Drop lazy priority queue (#64) (3b1db1)
|
5
|
+
|
6
|
+
2022-06 Release 0.5.8
|
7
|
+
|
8
|
+
Horst Duchene
|
9
|
+
* switch to github actions (56030d)
|
10
|
+
|
11
|
+
2020-12 Release 0.5.7
|
12
|
+
|
13
|
+
Horst Duchene
|
14
|
+
* Fully automate dev setup with Gitpod (41dd00)
|
15
|
+
* Add Dockerfile to install graphviz (2bd738)
|
16
|
+
* Examples do not call dotty (6bba96)
|
17
|
+
* Add ruby license file (a21aa5)
|
18
|
+
ujihisa <ujihisa@users.noreply.github.com>
|
19
|
+
* Test against Ruby 2.6 and 2.7 as well (50ac7c)
|
20
|
+
* Fix dead links (9184f3)
|
21
|
+
Harry Lascelles <hlascelles@users.noreply.github.com>
|
22
|
+
* Update .travis.yml (45b9a2)
|
23
|
+
* Make the links more explicit (95dc3b)
|
24
|
+
Harry Lascelles
|
25
|
+
* Add explicit license to gemspec (de3647)
|
26
|
+
|
27
|
+
2019-01 Release 0.5.6
|
2
28
|
|
3
29
|
Artemy Kirienko
|
4
30
|
* PR #42 Add method Graph#path?(u, v) to check if a path exists between two vertices
|
data/README.md
CHANGED
@@ -1,22 +1,21 @@
|
|
1
|
-
# Ruby Graph Library (RGL) [
|
1
|
+
# Ruby Graph Library (RGL) [](https://github.com/monora/rgl/actions/workflows/ruby.yml) [<img src="https://codeclimate.com/github/monora/rgl/badges/coverage.svg" />](https://codeclimate.com/github/monora/rgl/coverage) [<img src="https://badge.fury.io/rb/rgl.svg" alt="Version"/>](https://badge.fury.io/rb/rgl) [](https://gitpod.io/#https://github.com/monora/rgl)
|
2
2
|
|
3
3
|
RGL is a framework for graph data structures and algorithms.
|
4
4
|
|
5
5
|
The design of the library is much influenced by the Boost Graph Library (BGL)
|
6
|
-
which is written in C++. Refer to
|
6
|
+
which is written in C++. Refer to https://www.boost.org/libs/graph/doc for
|
7
7
|
further links and documentation on graph data structures and algorithms and
|
8
8
|
the design rationales of BGL.
|
9
9
|
|
10
10
|
A comprehensive summary of graph terminology can be found in the graph section
|
11
11
|
of the *Dictionary of Algorithms and Data Structures* at
|
12
|
-
|
12
|
+
https://www.nist.gov/dads/HTML/graph.html or
|
13
13
|
[Wikipedia](https://en.wikipedia.org/wiki/Graph_%28discrete_mathematics%29).
|
14
14
|
|
15
15
|
## Documentation
|
16
16
|
|
17
|
-
* RGL's [API Reference](
|
18
|
-
|
19
|
-
|
17
|
+
* RGL's [API Reference](https://www.rubydoc.info/github/monora/rgl) at
|
18
|
+
https://rubydoc.info
|
20
19
|
|
21
20
|
## Design principles
|
22
21
|
|
@@ -31,7 +30,6 @@ Ruby. The main design goals directly taken from the BGL design are:
|
|
31
30
|
* A standardized generic interface for traversing graphs
|
32
31
|
{RGL::GraphIterator}
|
33
32
|
|
34
|
-
|
35
33
|
RGL provides some general purpose graph classes that conform to this
|
36
34
|
interface, but they are not meant to be the **only** graph classes. As in BGL
|
37
35
|
I believe that the main contribution of the RGL is the formulation of this
|
@@ -48,11 +46,10 @@ achieve genericity:
|
|
48
46
|
* Element Type Parameterization
|
49
47
|
* Vertex and Edge Property Multi-Parameterization
|
50
48
|
|
51
|
-
|
52
49
|
The first is easily achieved in RGL using mixins, which of course is not as
|
53
50
|
efficient than C++ templates (but much more readable :-). The second one is
|
54
51
|
even more easily implemented using standard iterators with blocks or using the
|
55
|
-
[stream](
|
52
|
+
[stream](https://www.rubydoc.info/github/monora/stream) module. The third one
|
56
53
|
is no issue since Ruby is dynamically typed: Each object can be a graph
|
57
54
|
vertex. There is no need for a vertex (or even edge type). In the current
|
58
55
|
version of RGL properties of vertices are simply attached using hashes. At
|
@@ -65,7 +62,6 @@ RGL current contains a core set of algorithm patterns:
|
|
65
62
|
* Breadth First Search {RGL::BFSIterator}
|
66
63
|
* Depth First Search {RGL::DFSIterator}
|
67
64
|
|
68
|
-
|
69
65
|
The algorithm patterns by themselves do not compute any meaningful quantities
|
70
66
|
over graphs, they are merely building blocks for constructing graph
|
71
67
|
algorithms. The graph algorithms in RGL currently include:
|
@@ -77,7 +73,6 @@ algorithms. The graph algorithms in RGL currently include:
|
|
77
73
|
* Dijkstras Shortest Path Algorithm {RGL::DijkstraAlgorithm}
|
78
74
|
* Bellman Ford Algorithm {RGL::BellmanFordAlgorithm}
|
79
75
|
|
80
|
-
|
81
76
|
### Data Structures
|
82
77
|
|
83
78
|
RGL currently provides two graph classes that implement a generalized
|
@@ -86,7 +81,6 @@ adjacency list and an edge list adaptor.
|
|
86
81
|
* {RGL::AdjacencyGraph}
|
87
82
|
* {RGL::ImplicitGraph}
|
88
83
|
|
89
|
-
|
90
84
|
The AdjacencyGraph class is the general purpose _swiss army knife_ of graph
|
91
85
|
classes. It is highly parameterized so that it can be optimized for different
|
92
86
|
situations: the graph is directed or undirected, allow or disallow parallel
|
@@ -95,20 +89,20 @@ removal at the cost of extra space overhead, etc.
|
|
95
89
|
|
96
90
|
### Differences to BGL
|
97
91
|
|
98
|
-
The concepts of IncidenceGraph, AdjacencyGraph and VertexListGraph
|
99
|
-
|
100
|
-
|
101
|
-
the base module Graph. The complexity guarantees
|
102
|
-
|
92
|
+
The concepts of IncidenceGraph, AdjacencyGraph and VertexListGraph
|
93
|
+
(see [IncidenceGraph](https://www.boost.org/libs/graph/doc/IncidenceGraph.html)) are
|
94
|
+
bundled in RGL's base graph module. Most methods of IncidenceGraph
|
95
|
+
should be standard in the base module Graph. The complexity guarantees
|
96
|
+
can not necessarily provided (see [BGL's Graph Concepts](https://www.boost.org/libs/graph/doc/graph_concepts.html)).
|
103
97
|
|
104
98
|
## Installation
|
105
99
|
|
106
100
|
% gem install rgl
|
107
101
|
|
108
|
-
or download the latest sources from the git
|
109
|
-
|
102
|
+
or download the latest sources from the [git
|
103
|
+
repository](https://github.com/monora/rgl).
|
110
104
|
|
111
|
-
If you are going to use the drawing functionalities install [Graphviz](
|
105
|
+
If you are going to use the drawing functionalities install [Graphviz](https://www.graphviz.org/).
|
112
106
|
|
113
107
|
## Running tests
|
114
108
|
|
@@ -123,6 +117,8 @@ After that you can run the tests:
|
|
123
117
|
|
124
118
|
## Example irb session with RGL
|
125
119
|
|
120
|
+
% irb -Ilib
|
121
|
+
|
126
122
|
irb> require 'rgl/adjacency'
|
127
123
|
irb> dg=RGL::DirectedAdjacencyGraph[1,2 ,2,3 ,2,4, 4,5, 6,4, 1,6]
|
128
124
|
# Use DOT to visualize this graph:
|
@@ -227,8 +223,6 @@ This graph shows all loaded RGL modules:
|
|
227
223
|
Look for more in
|
228
224
|
[examples](https://github.com/monora/rgl/tree/master/examples) directory.
|
229
225
|
|
230
|
-
I collect some links to stuff around RGL at http://del.icio.us/monora/rgl.
|
231
|
-
|
232
226
|
## Credits
|
233
227
|
|
234
228
|
Many thanks to Robert Feldt which also worked on a graph library
|
@@ -237,28 +231,28 @@ graph resources.
|
|
237
231
|
|
238
232
|
Robert kindly allowed to integrate his work on graphr, which I did not yet
|
239
233
|
succeed. Especially his work to output graphs for
|
240
|
-
[GraphViz](
|
234
|
+
[GraphViz](https://www.graphviz.org) is much more elaborated than the minimal
|
241
235
|
support in dot.rb.
|
242
236
|
|
243
237
|
Jeremy Siek one of the authors of the nice book [The Boost Graph
|
244
|
-
Library](
|
238
|
+
Library](https://www.boost.org/libs/graph/doc) kindly allowed to use the BGL
|
245
239
|
documentation as a *cheap* reference for RGL. He and Robert also gave feedback
|
246
240
|
and many ideas for RGL.
|
247
241
|
|
248
|
-
Dave Thomas for [RDoc](
|
242
|
+
Dave Thomas for [RDoc](https://rdoc.sourceforge.net) which generated what you
|
249
243
|
read and matz for Ruby. Dave included in the latest version of RDoc (alpha9)
|
250
244
|
the module dot/dot.rb which I use instead of Roberts module to visualize
|
251
245
|
graphs (see rgl/dot.rb).
|
252
246
|
|
253
|
-
Jeremy Bopp, John Carter, Sascha Doerdelmann, Shawn Garbett, Andreas
|
254
|
-
and Kirill Lashuk for contributing additions, test
|
255
|
-
|
256
|
-
Kirill Lashuk who started to take over further development in November 2012.
|
247
|
+
Jeremy Bopp, John Carter, Sascha Doerdelmann, Shawn Garbett, Andreas
|
248
|
+
Schörk, Dan Čermák and Kirill Lashuk for contributing additions, test
|
249
|
+
cases and bugfixes.
|
257
250
|
|
258
|
-
See also
|
251
|
+
See also: https://github.com/monora/rgl/contributors
|
259
252
|
|
260
253
|
## Copying
|
261
254
|
|
262
|
-
RGL is Copyright (c) 2002,2004,2005,2008,2013,2015,2019 by Horst
|
263
|
-
free software, and may be redistributed under the
|
264
|
-
|
255
|
+
RGL is Copyright (c) 2002,2004,2005,2008,2013,2015,2019,2020,2022 by Horst
|
256
|
+
Duchene. It is free software, and may be redistributed under the [Ruby
|
257
|
+
license](https://en.wikipedia.org/wiki/Ruby_License) and terms specified in
|
258
|
+
the LICENSE file.
|
data/Rakefile
CHANGED
@@ -15,7 +15,7 @@ require 'rgl/base' # require base module to get RGL_VERSION
|
|
15
15
|
SOURCES = FileList['lib/**/*.rb']
|
16
16
|
|
17
17
|
# The default task is run if rake is given no explicit arguments.
|
18
|
-
desc
|
18
|
+
desc 'Default Task'
|
19
19
|
task :default => :test
|
20
20
|
|
21
21
|
# Define a test task.
|
@@ -28,7 +28,7 @@ end
|
|
28
28
|
|
29
29
|
# Git tagging
|
30
30
|
|
31
|
-
desc
|
31
|
+
desc 'Commit all changes as a new version commit. Tag the commit with v<version> tag'
|
32
32
|
task :tag do
|
33
33
|
puts "Committing and tagging version #{RGL_VERSION}"
|
34
34
|
`git commit -am 'Version #{RGL_VERSION}'`
|
@@ -44,13 +44,13 @@ Bundler::GemHelper.install_tasks
|
|
44
44
|
# TAGS ---------------------------------------------------------------
|
45
45
|
|
46
46
|
file 'tags' => SOURCES do
|
47
|
-
print
|
48
|
-
sh %
|
49
|
-
puts
|
47
|
+
print 'Running ctags...'
|
48
|
+
sh %(ctags #{SOURCES.join(' ')}) # vi tags
|
49
|
+
puts 'done.'
|
50
50
|
end
|
51
51
|
|
52
52
|
file 'TAGS' => SOURCES do
|
53
|
-
sh %
|
53
|
+
sh %(etags #{SOURCES.join(' ')}) # emacs TAGS
|
54
54
|
end
|
55
55
|
|
56
56
|
# Misc tasks =========================================================
|
@@ -73,34 +73,34 @@ def show_line(msg, lines, loc)
|
|
73
73
|
printf "%6s %6s %s\n", lines.to_s, loc.to_s, msg
|
74
74
|
end
|
75
75
|
|
76
|
-
desc
|
76
|
+
desc 'Count lines in the main files'
|
77
77
|
task :lines do
|
78
78
|
total_lines = 0
|
79
79
|
total_code = 0
|
80
|
-
show_line(
|
80
|
+
show_line('File Name', 'LINES', 'LOC')
|
81
81
|
SOURCES.each do |fn|
|
82
82
|
lines, codelines = count_lines(fn)
|
83
83
|
show_line(fn, lines, codelines)
|
84
84
|
total_lines += lines
|
85
|
-
total_code
|
85
|
+
total_code += codelines
|
86
86
|
end
|
87
|
-
show_line(
|
87
|
+
show_line('TOTAL', total_lines, total_code)
|
88
88
|
end
|
89
89
|
|
90
90
|
# simple rake task to output a changelog between two commits, tags ...
|
91
91
|
# output is formatted simply, commits are grouped under each author name
|
92
92
|
#
|
93
|
-
desc
|
94
|
-
task :changelog, :since_c, :until_c do |t,args|
|
93
|
+
desc 'generate changelog with nice clean output'
|
94
|
+
task :changelog, :since_c, :until_c do |t, args|
|
95
95
|
since_c = args[:since_c] || `git tag | tail -1`.chomp
|
96
96
|
until_c = args[:until_c]
|
97
|
-
cmd
|
97
|
+
cmd = `git log --pretty='format:%ci::%an <%ae>::%s::%H' #{since_c}..#{until_c}`
|
98
98
|
|
99
99
|
entries = Hash.new
|
100
100
|
changelog_content = String.new
|
101
101
|
|
102
102
|
cmd.split("\n").each do |entry|
|
103
|
-
_, author, subject, hash = entry.chomp.split(
|
103
|
+
_, author, subject, hash = entry.chomp.split('::')
|
104
104
|
entries[author] = Array.new unless entries[author]
|
105
105
|
entries[author] << "#{subject} (#{hash[0..5]})" unless subject =~ /Merge/
|
106
106
|
end
|
data/examples/examples.rb
CHANGED
@@ -77,7 +77,7 @@ def bfs_example(g = cycle(5), start = g.detect { |x| true })
|
|
77
77
|
end
|
78
78
|
|
79
79
|
# Would like to have GraphXML here
|
80
|
-
def graph_from_dotfile
|
80
|
+
def graph_from_dotfile(file)
|
81
81
|
g = RGL::AdjacencyGraph.new
|
82
82
|
pattern = /\s*([^\"]+)[\"\s]*--[\"\s]*([^\"\[\;]+)/ # ugly but works
|
83
83
|
IO.foreach(file) { |line|
|
@@ -94,21 +94,23 @@ def graph_from_dotfile (file)
|
|
94
94
|
g
|
95
95
|
end
|
96
96
|
|
97
|
-
# ruby -Ilib
|
98
|
-
|
97
|
+
# ruby -Ilib examples/examples.rb
|
99
98
|
if $0 == __FILE__
|
100
99
|
require 'rgl/dot'
|
101
100
|
|
102
101
|
dg = RGL::DirectedAdjacencyGraph[1,2, 2,3, 2,4, 4,5, 6,4, 1,6]
|
103
|
-
dg.dotty
|
104
102
|
dg.write_to_graphic_file
|
105
|
-
bfs_example(dg, 1).dotty
|
106
|
-
bfs_example(graph_from_dotfile('dot/unix.dot'), 'Interdata').dotty({ 'label' => 'Interdata Nachfolger', 'fontsize' => 12 })
|
107
103
|
|
104
|
+
# BFS tree from 1 of dg:
|
105
|
+
bfs_example(dg, 1).write_to_graphic_file('png', 'bfs_example')
|
106
|
+
|
107
|
+
# Unix history as a graph:
|
108
|
+
g = bfs_example(graph_from_dotfile('examples/unix.dot'), 'Interdata')
|
109
|
+
g.write_to_graphic_file('png', 'unix', { 'label' => 'Interdata Nachfolger', 'fontsize' => 12 })
|
110
|
+
|
111
|
+
# Modules included by AdjacencyGraph:
|
108
112
|
g = module_graph
|
109
113
|
tree = bfs_example(module_graph, RGL::AdjacencyGraph)
|
110
114
|
g = g.vertices_filtered_by { |v| tree.has_vertex? v }
|
111
|
-
g.write_to_graphic_file
|
112
|
-
g.dotty
|
115
|
+
g.write_to_graphic_file('png', 'module_graph')
|
113
116
|
end
|
114
|
-
|
data/examples/unix.dot
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
/* courtesy Ian Darwin and Geoff Collyer, Softquad Inc. */
|
2
|
+
digraph unix {
|
3
|
+
size="6,6";
|
4
|
+
"5th Edition" -> "6th Edition";
|
5
|
+
"5th Edition" -> "PWB 1.0";
|
6
|
+
"6th Edition" -> "LSX";
|
7
|
+
"6th Edition" -> "1 BSD";
|
8
|
+
"6th Edition" -> "Mini Unix";
|
9
|
+
"6th Edition" -> "Wollongong";
|
10
|
+
"6th Edition" -> "Interdata";
|
11
|
+
"Interdata" -> "Unix/TS 3.0";
|
12
|
+
"Interdata" -> "PWB 2.0";
|
13
|
+
"Interdata" -> "7th Edition";
|
14
|
+
"7th Edition" -> "8th Edition";
|
15
|
+
"7th Edition" -> "32V";
|
16
|
+
"7th Edition" -> "V7M";
|
17
|
+
"7th Edition" -> "Ultrix-11";
|
18
|
+
"7th Edition" -> "Xenix";
|
19
|
+
"7th Edition" -> "UniPlus+";
|
20
|
+
"V7M" -> "Ultrix-11";
|
21
|
+
"8th Edition" -> "9th Edition";
|
22
|
+
"1 BSD" -> "2 BSD";
|
23
|
+
"2 BSD" -> "2.8 BSD";
|
24
|
+
"2.8 BSD" -> "Ultrix-11";
|
25
|
+
"2.8 BSD" -> "2.9 BSD";
|
26
|
+
"32V" -> "3 BSD";
|
27
|
+
"3 BSD" -> "4 BSD";
|
28
|
+
"4 BSD" -> "4.1 BSD";
|
29
|
+
"4.1 BSD" -> "4.2 BSD";
|
30
|
+
"4.1 BSD" -> "2.8 BSD";
|
31
|
+
"4.1 BSD" -> "8th Edition";
|
32
|
+
"4.2 BSD" -> "4.3 BSD";
|
33
|
+
"4.2 BSD" -> "Ultrix-32";
|
34
|
+
"PWB 1.0" -> "PWB 1.2";
|
35
|
+
"PWB 1.0" -> "USG 1.0";
|
36
|
+
"PWB 1.2" -> "PWB 2.0";
|
37
|
+
"USG 1.0" -> "CB Unix 1";
|
38
|
+
"USG 1.0" -> "USG 2.0";
|
39
|
+
"CB Unix 1" -> "CB Unix 2";
|
40
|
+
"CB Unix 2" -> "CB Unix 3";
|
41
|
+
"CB Unix 3" -> "Unix/TS++";
|
42
|
+
"CB Unix 3" -> "PDP-11 Sys V";
|
43
|
+
"USG 2.0" -> "USG 3.0";
|
44
|
+
"USG 3.0" -> "Unix/TS 3.0";
|
45
|
+
"PWB 2.0" -> "Unix/TS 3.0";
|
46
|
+
"Unix/TS 1.0" -> "Unix/TS 3.0";
|
47
|
+
"Unix/TS 3.0" -> "TS 4.0";
|
48
|
+
"Unix/TS++" -> "TS 4.0";
|
49
|
+
"CB Unix 3" -> "TS 4.0";
|
50
|
+
"TS 4.0" -> "System V.0";
|
51
|
+
"System V.0" -> "System V.2";
|
52
|
+
"System V.2" -> "System V.3";
|
53
|
+
}
|
data/lib/rgl/base.rb
CHANGED
data/lib/rgl/bellman_ford.rb
CHANGED
data/lib/rgl/dijkstra.rb
CHANGED
@@ -2,7 +2,7 @@ require 'rgl/dijkstra_visitor'
|
|
2
2
|
require 'rgl/edge_properties_map'
|
3
3
|
require 'rgl/path_builder'
|
4
4
|
|
5
|
-
require '
|
5
|
+
require 'pairing_heap'
|
6
6
|
|
7
7
|
module RGL
|
8
8
|
|
@@ -54,7 +54,7 @@ module RGL
|
|
54
54
|
def init(source)
|
55
55
|
@visitor.set_source(source)
|
56
56
|
|
57
|
-
@queue = MinPriorityQueue.new
|
57
|
+
@queue = PairingHeap::MinPriorityQueue.new
|
58
58
|
@queue.push(source, 0)
|
59
59
|
end
|
60
60
|
|
data/lib/rgl/graphxml.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# graphxml.rb
|
2
2
|
#
|
3
3
|
# This file contains minimal support for creating RGL graphs from the GraphML
|
4
|
-
# format (see http://
|
4
|
+
# format (see http://graphml.graphdrawing.org/). The main purpose is to
|
5
5
|
# have a rich set of example graphs to have some more tests.
|
6
6
|
#
|
7
7
|
# See the examples directory, which contains a subdirectory _north_ with the
|
@@ -48,7 +48,7 @@ module RGL
|
|
48
48
|
end # class MutableGraphParser
|
49
49
|
|
50
50
|
# Initializes an RGL graph from a subset of the GraphML format given in
|
51
|
-
# +source+ (see http://
|
51
|
+
# +source+ (see http://graphml.graphdrawing.org/).
|
52
52
|
#
|
53
53
|
def from_graphxml(source)
|
54
54
|
listener = MutableGraphParser.new(self)
|
data/lib/rgl/rdot.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rgl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Horst Duchene
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire: rgl/base
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-08-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: stream
|
@@ -17,28 +17,48 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.5.
|
20
|
+
version: 0.5.3
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.5.
|
27
|
+
version: 0.5.3
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: pairing_heap
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.3.0
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 0.3.0
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rexml
|
30
44
|
requirement: !ruby/object:Gem::Requirement
|
31
45
|
requirements:
|
32
46
|
- - "~>"
|
33
47
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
48
|
+
version: '3.2'
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: 3.2.4
|
35
52
|
type: :runtime
|
36
53
|
prerelease: false
|
37
54
|
version_requirements: !ruby/object:Gem::Requirement
|
38
55
|
requirements:
|
39
56
|
- - "~>"
|
40
57
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
58
|
+
version: '3.2'
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.2.4
|
42
62
|
- !ruby/object:Gem::Dependency
|
43
63
|
name: rake
|
44
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -165,6 +185,7 @@ files:
|
|
165
185
|
- examples/north/g.14.9.graphml
|
166
186
|
- examples/north2.rb
|
167
187
|
- examples/rdep-rgl.rb
|
188
|
+
- examples/unix.dot
|
168
189
|
- lib/rgl/adjacency.rb
|
169
190
|
- lib/rgl/base.rb
|
170
191
|
- lib/rgl/bellman_ford.rb
|
@@ -214,9 +235,10 @@ files:
|
|
214
235
|
- test/traversal_test.rb
|
215
236
|
- test/undirected_graph_test.rb
|
216
237
|
homepage: https://github.com/monora/rgl
|
217
|
-
licenses:
|
238
|
+
licenses:
|
239
|
+
- ruby
|
218
240
|
metadata: {}
|
219
|
-
post_install_message:
|
241
|
+
post_install_message:
|
220
242
|
rdoc_options:
|
221
243
|
- "--title"
|
222
244
|
- RGL - Ruby Graph Library
|
@@ -236,8 +258,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
236
258
|
- !ruby/object:Gem::Version
|
237
259
|
version: '0'
|
238
260
|
requirements: []
|
239
|
-
rubygems_version: 3.
|
240
|
-
signing_key:
|
261
|
+
rubygems_version: 3.2.3
|
262
|
+
signing_key:
|
241
263
|
specification_version: 4
|
242
264
|
summary: Ruby Graph Library
|
243
265
|
test_files: []
|