datastructures 0.2.1 → 0.3.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.
Files changed (54) hide show
  1. data/README.md +118 -2
  2. data/lib/datastructures.rb +4 -1
  3. data/lib/datastructures/adjacency_list.rb +82 -0
  4. data/lib/datastructures/linked_list.rb +179 -0
  5. data/lib/datastructures/tree_node.rb +73 -0
  6. data/lib/datastructures/version.rb +2 -2
  7. data/test/benchmarks.rb +36 -0
  8. data/test/coverage/assets/0.7.1/application.css +1110 -0
  9. data/test/coverage/assets/0.7.1/application.js +626 -0
  10. data/test/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
  11. data/test/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
  12. data/test/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
  13. data/test/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
  14. data/test/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
  15. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
  16. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
  17. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
  18. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
  19. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
  20. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
  21. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
  22. data/test/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
  23. data/test/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
  24. data/test/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
  25. data/test/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
  26. data/test/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
  27. data/test/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
  28. data/test/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
  29. data/test/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
  30. data/test/coverage/assets/0.7.1/favicon_green.png +0 -0
  31. data/test/coverage/assets/0.7.1/favicon_red.png +0 -0
  32. data/test/coverage/assets/0.7.1/favicon_yellow.png +0 -0
  33. data/test/coverage/assets/0.7.1/loading.gif +0 -0
  34. data/test/coverage/assets/0.7.1/magnify.png +0 -0
  35. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  36. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  37. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  38. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  39. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  40. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  41. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  42. data/test/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  43. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
  44. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  45. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
  46. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
  47. data/test/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  48. data/test/coverage/index.html +72 -0
  49. data/test/test_adjacency_list.rb +79 -0
  50. data/test/test_datastructures.rb +5 -1
  51. data/test/test_linked_list.rb +96 -0
  52. data/test/test_stack.rb +1 -1
  53. data/test/test_tree.rb +77 -0
  54. metadata +68 -3
@@ -0,0 +1,72 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns='http://www.w3.org/1999/xhtml'>
3
+ <head>
4
+ <title>Code coverage for Test</title>
5
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
+ <script src='./assets/0.7.1/application.js' type='text/javascript'></script>
7
+ <link href='./assets/0.7.1/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
8
+ <link rel="shortcut icon" type="image/png" href="./assets/0.7.1/favicon_green.png" />
9
+ <link rel="icon" type="image/png" href="./assets/0.7.1/favicon.png" />
10
+ </head>
11
+
12
+ <body>
13
+ <div id="loading">
14
+ <img src="./assets/0.7.1/loading.gif" alt="loading"/>
15
+ </div>
16
+ <div id="wrapper" style="display:none;">
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2013-08-26T20:50:25+01:00">2013-08-26T20:50:25+01:00</abbr></div>
18
+ <ul class="group_tabs"></ul>
19
+
20
+ <div id="content">
21
+ <div class="file_list_container" id="AllFiles">
22
+ <h2>
23
+ <span class="group_name">All Files</span>
24
+ (<span class="covered_percent"><span class="green">100.0%</span></span>
25
+ covered at
26
+ <span class="covered_strength">
27
+ <span class="red">
28
+ 0.0
29
+ </span>
30
+ </span> hits/line)
31
+ </h2>
32
+ <a name="AllFiles"></a>
33
+ <div>
34
+ <b>0</b> files in total.
35
+ <b>0.0</b> relevant lines.
36
+ <span class="green"><b>0.0</b> lines covered</span> and
37
+ <span class="red"><b>0.0</b> lines missed </span>
38
+ </div>
39
+ <table class="file_list">
40
+ <thead>
41
+ <tr>
42
+ <th>File</th>
43
+ <th>% covered</th>
44
+ <th>Lines</th>
45
+ <th>Relevant Lines</th>
46
+ <th>Lines covered</th>
47
+ <th>Lines missed</th>
48
+ <th>Avg. Hits / Line</th>
49
+ </tr>
50
+ </thead>
51
+ <tbody>
52
+
53
+ </tbody>
54
+ </table>
55
+ </div>
56
+
57
+
58
+
59
+ </div>
60
+
61
+ <div id="footer">
62
+ Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.7.1
63
+ and simplecov-html v0.7.1<br/>
64
+ using Unit Tests
65
+ </div>
66
+
67
+ <div class="source_files">
68
+
69
+ </div>
70
+ </div>
71
+ </body>
72
+ </html>
@@ -0,0 +1,79 @@
1
+ require 'test_datastructures'
2
+
3
+ class TestAdjacencyList < Test::Unit::TestCase
4
+
5
+ context "AdjacencyList" do
6
+
7
+ setup do
8
+ @al = DataStructures::AdjacencyList.new
9
+ end
10
+
11
+ should "allow handling nodes by name" do
12
+ @al = DataStructures::AdjacencyList.new(true)
13
+ a = {
14
+ :one => ['content 1', [:two]],
15
+ :two => ['content 2', [:three]],
16
+ :three => ['content 3', [:one]]
17
+ }
18
+ a.each_pair do |name, data|
19
+ value, edges = data
20
+ @al.add(value, name, edges)
21
+ end
22
+
23
+ a.each_pair do |name, data|
24
+ value, edges = data
25
+
26
+ assert_equal value, @al.get_node_value(name), "node #{name} should know its value"
27
+ assert_equal @al.neighbours(name), edges, "edges set should be in neighbours for node #{name}"
28
+ assert @al.adjacent?(name, edges.first), "node #{name} is adjacent to neighbour"
29
+ end
30
+
31
+ @al.delete_edge(:one, :two)
32
+ assert_equal @al.neighbours(:one), [], "deleting edge removes neighbour"
33
+ assert !@al.adjacent?(:one, :two), "deleting edge removes adjacency"
34
+ end
35
+
36
+ should "allow handling nodes by index" do
37
+ a = {
38
+ 1 => ['content 1', [2]],
39
+ 2 => ['content 2', [3]],
40
+ 3 => ['content 3', [1]]
41
+ }
42
+ a.each_pair do |name, data|
43
+ value, edges = data
44
+ @al.add(value, name, edges)
45
+ end
46
+
47
+ a.each_pair do |name, data|
48
+ value, edges = data
49
+
50
+ assert_equal value, @al.get_node_value(name), "node #{name} should know its value"
51
+ assert_equal @al.neighbours(name), edges, "edges set should be in neighbours for node #{name}"
52
+ assert @al.adjacent?(name, edges.first), "node #{name} is adjacent to neighbour"
53
+ end
54
+
55
+ @al.delete_edge(1, 2)
56
+ assert_equal @al.neighbours(1), [], "deleting edge removes neighbour"
57
+ assert !@al.adjacent?(1, 2), "deleting edge removes adjacency"
58
+ end
59
+
60
+ should "allow node manipulation" do
61
+ @al.add('test node', 1)
62
+
63
+ assert_equal 'test node', @al.get_node_value(1), "node starts with assigned value"
64
+ @al.set_node_value(1, 'changed value')
65
+ assert_equal 'changed value', @al.get_node_value(1), "setting node value changes it"
66
+
67
+ assert_equal [], @al.neighbours(1), "node starts with no neighbours"
68
+ @al.add_edge(1, 2)
69
+ assert_equal [2], @al.neighbours(1), "adding an edge makes target a neighbour"
70
+
71
+ @al.delete(1)
72
+ assert_raise NoMethodError, "accessing a deleted node throws an error" do
73
+ @al.get_node_value(1)
74
+ end
75
+ end
76
+
77
+ end # AdjacencyList context
78
+
79
+ end # TestAdjacencyList
@@ -8,5 +8,9 @@ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
8
8
  SimpleCov.start
9
9
 
10
10
  require 'test/unit'
11
- require 'shoulda'
11
+ begin; require 'turn/autorun'; rescue LoadError; end
12
+ require 'shoulda-context'
12
13
  require 'datastructures'
14
+
15
+ Turn.config.format = :pretty
16
+ Turn.config.trace = 1
@@ -0,0 +1,96 @@
1
+ require 'test_datastructures'
2
+
3
+ class TestLinkedList < Test::Unit::TestCase
4
+
5
+ context "LinkedList" do
6
+
7
+ setup do
8
+ @ll = DataStructures::LinkedList.new
9
+ end
10
+
11
+ should "start empty" do
12
+ assert @ll.empty?, "should start empty"
13
+ assert_equal [].to_s, @ll.to_s, "string representation of empty list matches empty array"
14
+ end
15
+
16
+ should "be able to create with a single element" do
17
+ @ll = DataStructures::LinkedList.new('test')
18
+ assert_equal 1, @ll.size, "should have size 1 after adding 1"
19
+ end
20
+
21
+ should "be able to create with multiple elements" do
22
+ @ll = DataStructures::LinkedList.new(1,2,3,4)
23
+ assert_equal 4, @ll.size, "should have size 4 after adding 4"
24
+ end
25
+
26
+ should "allow enumeration with a block" do
27
+ a = [1, 2, 3, 4]
28
+ @ll = DataStructures::LinkedList.new(*a)
29
+ i = 0
30
+ @ll.each do |value|
31
+ assert_equal a[i], value, "enumeration elements at #{i} should match"
32
+ i += 1
33
+ end
34
+ end
35
+
36
+ should "allow assignment, insertion, retrieval and deletion" do
37
+ @ll << 'test'
38
+ assert_equal 'test', @ll.first.data, 'single element is first'
39
+ assert_equal 'test', @ll.last.data, 'single element is last'
40
+
41
+ @ll[1] = 'another test'
42
+ @ll[3] = 'yet another'
43
+ assert_equal 'another test', @ll[1], "indexed assignment and retrieval match"
44
+
45
+ assert_equal 0, @ll.index('test'), "correct index gets returned for pushed item"
46
+ assert_equal 1, @ll.index('another test'), "correct index gets returned for assigned item"
47
+ assert @ll[2].nil?, "assignment > highest index should fill in with nil"
48
+
49
+ @ll[2] = 'replacement'
50
+ assert_equal 'replacement', @ll[2], "filled-in nils can be replaced with values"
51
+
52
+ @ll.insert(1, 'inserted data')
53
+ assert_equal @ll[1], 'inserted data', "insertion set the value at index"
54
+ assert_equal @ll[2], 'another test', "insertion moves existing values along"
55
+
56
+ @ll.delete(2)
57
+ assert_equal 'replacement', @ll[2], 'deletion moves subsequent elements back one'
58
+ end
59
+
60
+ should "allow chained assignment" do
61
+ @ll.push(1).push(2).push(3).push(4)
62
+ assert_equal [1,2,3,4], @ll.to_a
63
+ end
64
+
65
+ should "act as a queue" do
66
+ a = [1, 2, 3, 4]
67
+ @ll.push(*a)
68
+ 4.times do |i|
69
+ assert_equal a[i], @ll.shift, "#{i}th item in should be #{i}th in queue"
70
+ end
71
+ end
72
+
73
+ should "act as a stack" do
74
+ a = [1, 2, 3, 4]
75
+ @ll.push(*a)
76
+ 4.times do |i|
77
+ assert_equal a[3 - i], @ll.pop, "#{i}th item in should be #{3 - i}th in stack"
78
+ end
79
+ end
80
+
81
+ should "act as an inverse stack" do
82
+ a = [1, 2, 3, 4]
83
+ @ll.unshift(*a)
84
+ 4.times do |i|
85
+ assert_equal a[3 - i], @ll.shift, "#{i}th item in should be #{3 - i}th in inverse stack"
86
+ end
87
+ end
88
+
89
+ should "fail to find index for non-contained data" do
90
+ @ll.push(1,2,3,4)
91
+ assert @ll.index(5).nil?, "index should be nil when data not found"
92
+ end
93
+
94
+ end # LinkedList context
95
+
96
+ end # TestLinkedList
@@ -2,7 +2,7 @@ require 'test_datastructures'
2
2
 
3
3
  class TestStack < Test::Unit::TestCase
4
4
 
5
- context "stack" do
5
+ context "Stack" do
6
6
 
7
7
  setup do
8
8
  @stack = DataStructures::Stack.new
@@ -0,0 +1,77 @@
1
+ require 'test_datastructures'
2
+
3
+ class TestTreeNode < Test::Unit::TestCase
4
+
5
+ context "TestTreeNode" do
6
+
7
+ setup do
8
+ @tree = DataStructures::TreeNode.new('grandmother')
9
+ end
10
+
11
+ should "be able to create a new instance" do
12
+ @tree = DataStructures::TreeNode.new('')
13
+ end
14
+
15
+ should "begin empty" do
16
+ assert @tree.empty?, "knows it's empty"
17
+ assert @tree.child_count == 0, "0 children in empty tree"
18
+ assert @tree.is_leaf?, "an empty tree is a leaf"
19
+ end
20
+
21
+ should "be able to add, recognise and remove children" do
22
+ child = DataStructures::TreeNode.new('child')
23
+ assert @tree.is_leaf?, "should start out as leaf"
24
+
25
+ @tree.add_child child
26
+ assert_equal @tree.child_count, 1, "child count should be 1"
27
+ assert !@tree.is_leaf?, "should no longer be leaf"
28
+ assert_equal @tree.children.first, child, "only child should be the one just added"
29
+
30
+ @tree.remove_child! child
31
+ assert_not_include @tree.children, child, "deleted child is forgotten by parent"
32
+ end
33
+
34
+ should "know its family tree" do
35
+ # make a happy family
36
+ mother = DataStructures::TreeNode.new('the mother')
37
+ daughter = DataStructures::TreeNode.new('the daughter')
38
+ son = DataStructures::TreeNode.new('the son')
39
+ mother.add_child daughter
40
+ mother.add_child son
41
+ uncle = DataStructures::TreeNode.new('the uncle')
42
+ cousin = DataStructures::TreeNode.new('the cousin')
43
+ uncle << cousin
44
+ @tree << mother
45
+ @tree << uncle
46
+
47
+ assert_equal @tree.siblings, nil, "grandmother has no siblings :("
48
+
49
+ [mother, daughter, son, uncle, cousin].each do |descendent|
50
+ assert_include @tree.descendents, descendent, "should recognise #{descendent.data} as descendent"
51
+ end
52
+
53
+ assert_not_include mother.siblings, mother, "mother not her own sibling"
54
+ assert_not_include son.siblings, son, "son not his own sibling"
55
+
56
+ assert_equal uncle, mother.siblings.first, "mother sees uncle as sibling"
57
+ assert_equal mother, uncle.siblings.first, "uncle sees mother as sibling"
58
+ assert_equal son, daughter.siblings.first, "daughter sees son as sibling"
59
+ assert_equal daughter, son.siblings.first, "son sees daughter as sibling"
60
+
61
+ assert_equal daughter.parent, mother, "daughter recogises her own mother"
62
+ assert_equal mother.parent, @tree, "mother knows grandmother is her mother"
63
+ assert_equal cousin.parent.parent, @tree, "cousin recognises her own grandmother"
64
+
65
+ assert son.is_leaf?
66
+ assert !mother.is_leaf?
67
+ assert !@tree.is_leaf?
68
+ assert @tree.is_root?
69
+
70
+ @tree.clear
71
+ assert @tree.empty?
72
+ assert @tree.is_leaf?
73
+ end
74
+
75
+ end # Tree context
76
+
77
+ end # TestTree
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datastructures
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,10 +9,26 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-20 00:00:00.000000000 Z
12
+ date: 2013-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: turn
16
32
  requirement: !ruby/object:Gem::Requirement
17
33
  none: false
18
34
  requirements:
@@ -83,17 +99,66 @@ extensions: []
83
99
  extra_rdoc_files: []
84
100
  files:
85
101
  - Rakefile
102
+ - lib/datastructures/adjacency_list.rb
103
+ - lib/datastructures/linked_list.rb
86
104
  - lib/datastructures/queue.rb
87
105
  - lib/datastructures/stack.rb
106
+ - lib/datastructures/tree_node.rb
88
107
  - lib/datastructures/version.rb
89
108
  - lib/datastructures.rb
109
+ - test/benchmarks.rb
110
+ - test/coverage/assets/0.7.1/application.css
111
+ - test/coverage/assets/0.7.1/application.js
112
+ - test/coverage/assets/0.7.1/fancybox/blank.gif
113
+ - test/coverage/assets/0.7.1/fancybox/fancy_close.png
114
+ - test/coverage/assets/0.7.1/fancybox/fancy_loading.png
115
+ - test/coverage/assets/0.7.1/fancybox/fancy_nav_left.png
116
+ - test/coverage/assets/0.7.1/fancybox/fancy_nav_right.png
117
+ - test/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png
118
+ - test/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png
119
+ - test/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png
120
+ - test/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png
121
+ - test/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png
122
+ - test/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png
123
+ - test/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png
124
+ - test/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png
125
+ - test/coverage/assets/0.7.1/fancybox/fancy_title_left.png
126
+ - test/coverage/assets/0.7.1/fancybox/fancy_title_main.png
127
+ - test/coverage/assets/0.7.1/fancybox/fancy_title_over.png
128
+ - test/coverage/assets/0.7.1/fancybox/fancy_title_right.png
129
+ - test/coverage/assets/0.7.1/fancybox/fancybox-x.png
130
+ - test/coverage/assets/0.7.1/fancybox/fancybox-y.png
131
+ - test/coverage/assets/0.7.1/fancybox/fancybox.png
132
+ - test/coverage/assets/0.7.1/favicon_green.png
133
+ - test/coverage/assets/0.7.1/favicon_red.png
134
+ - test/coverage/assets/0.7.1/favicon_yellow.png
135
+ - test/coverage/assets/0.7.1/loading.gif
136
+ - test/coverage/assets/0.7.1/magnify.png
137
+ - test/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
138
+ - test/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
139
+ - test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
140
+ - test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
141
+ - test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png
142
+ - test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
143
+ - test/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
144
+ - test/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
145
+ - test/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png
146
+ - test/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png
147
+ - test/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png
148
+ - test/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png
149
+ - test/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png
150
+ - test/coverage/index.html
151
+ - test/test_adjacency_list.rb
90
152
  - test/test_datastructures.rb
153
+ - test/test_linked_list.rb
91
154
  - test/test_queue.rb
92
155
  - test/test_stack.rb
156
+ - test/test_tree.rb
93
157
  - README.md
94
158
  - LICENSE
95
159
  homepage: https://github.com/Blahah/datastructures
96
- licenses: []
160
+ licenses:
161
+ - MIT
97
162
  post_install_message:
98
163
  rdoc_options: []
99
164
  require_paths: