tree_outline 0.1.0 → 0.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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDBhZGU3NDMwMWY1NTM0YzA1OWI2NjhmNTM3ZDM0YzRhMjFkY2Y4ZA==
4
+ MmJkNDM1NzgwZTMwNjAyNTI3YmM0ZjBiZjQ0ZDY5NzllMDJiZmMwNA==
5
5
  data.tar.gz: !binary |-
6
- MjI4YjBmYTAyZmM5NjBjNGFjYzhiYzM0ZWVlZjhiNTMyNWRhODJmZQ==
6
+ NTdlOTkyMjc3MWMwMDk0OGEzMGIzY2RiYTFhZDc3NDdkODA5OGM5MA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZmZlMjhhMzA5MzllMDUzN2I4NDQyNTljNjI2YmYzYTBkYzBhMjdlNmU3ODU2
10
- ZTIyYjBhNTRiNjc5MDFhODM5M2VjMDczYzVkZjMxOTljMGUzNjViMzIxZjk4
11
- OWVlNTYzZDEzYTY1NDMzMGUxMmZhY2RkYzEyOTAzMTlmNGYwMDI=
9
+ NWVmNTJmZGYyNzZmNjYzNWE5OTVhMWIxNjZjZDRhNWZkZmI3NmM3NzFhY2Y3
10
+ N2QzM2NiMDQyMjI5ZDJhYTFmZTRiNjYzODE1MWM5OWNkN2EzYjEwZWViZmUz
11
+ Mjk5YzAxZWUwMmRiNTlhMDA4NTVjM2Y0YzlhZDVhZmNlNjQyM2U=
12
12
  data.tar.gz: !binary |-
13
- OGViODc4ZTRlY2ZkZGVjZjU3YzE1N2RjYmQ0MDNkZmJmYmIyMmM5MDIwMGEw
14
- OWVlYmYyZDU1MzUxM2Y3MmEzMTAwN2ViZGI5NzFlZjZmZWQwYTlkYWYzOTcw
15
- OTc1MGYzMDM0ODRiODRmM2Y5NTFkYWVlNGRjYjdmOTAzZTM1MmU=
13
+ YWE1NDc0ODNmYTg2ZTFlZTBkMDRjMjdkOWY5ZWQ5NTViODZmZTRhMjk2MWE0
14
+ ZDc4NzM4M2U3OTc2ZDBiZTQwYjAwODRiNjNmNWVmNWM4N2ZlMTIwMTgzZTAy
15
+ YTU2ZjgwNDdjYjQ3MTM1YjYwZTk4NDI1YTZiY2RiOTBmYzA4OTM=
data/lib/tree_outline.rb CHANGED
@@ -29,7 +29,7 @@ class TreeOutline
29
29
  private
30
30
 
31
31
  def build_lines(node)
32
- return [node_label(node)] if node_children(node).empty?
32
+ return [node_label(node)] if is_leaf?(node)
33
33
  result = node_children(node).map do |c|
34
34
  build_lines(c)
35
35
  end
@@ -59,6 +59,11 @@ class TreeOutline
59
59
  result
60
60
  end
61
61
 
62
+ def is_leaf?(node)
63
+ # mind the order of this OR statement, it's important
64
+ !node.respond_to?(@children_method) || node_children(node).nil? || node_children(node).empty?
65
+ end
66
+
62
67
  def node_label(node)
63
68
  node.public_send @label_method
64
69
  end
@@ -1,3 +1,3 @@
1
1
  class TreeOutline
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tree_outline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - flower-pot