modular_tree 0.1.0 → 0.2.0

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
  SHA256:
3
- metadata.gz: a3644f92428a2febb9c5eae96e14a4fb560f4661bf7b16234779dfa00f56395c
4
- data.tar.gz: 527392507133a17f32e157e26f6ab670998d157858efbc8e7b31dbc892ab0128
3
+ metadata.gz: 420d72c774f0602ebf2b50b7346ee64759aaf48f89b8e041c80fe76464dbd379
4
+ data.tar.gz: 4ceb72733d99138a6244c4b163b46d0fb10fcdf20b8f7d61e582903bab750bc8
5
5
  SHA512:
6
- metadata.gz: 339ac6d0bcdb76f76234db24f166755bbf3ab5760acf9288a790f1db047f36ad9202aad55af4304b1e72abacd1a18d106d0e046de1671821fd619df9857fdbec
7
- data.tar.gz: b2953433442cfd6eb6beba7ab2fb6940d1031b8b13bf6ee0ce7eece775895c69ed059573b931c05738627089717c5aed4423f872c9c4529ff9cfb3efd46c4f37
6
+ metadata.gz: a5b2b90bcaaa71fd2754093cbd3ccca1fea3c9193c3261a82911bd10c7c8c6e74476804006238215aaf448062424dbfeef606550b69f378fd742d159d58b05b2
7
+ data.tar.gz: 8330f74bf4368cc7d56f35b42e48ff4f1dd51641ed94f05f4340f222eef22d62d0a3b32c883e2e6d916b78762a3d23870e62131b3e2f461c10ccabf16070d6ce
@@ -49,8 +49,9 @@ module Tree
49
49
  include NodeProperty
50
50
  include BranchesProperty
51
51
 
52
- # True if the node doesn't contain any branches (#empty? for trees)
53
- def bare? = raise NotImplemented
52
+ # True if the node doesn't contain any branches (#empty? for trees).
53
+ # Default implementation in BranchesProperty
54
+ # def bare? = raise NotImplemented
54
55
 
55
56
  # The number of nodes in the tree. Note that this can be an expensive
56
57
  # operation because every node has to be visited
@@ -168,7 +168,10 @@ module Tree
168
168
  def each_child(&block) = @children.map(&block)
169
169
  def attach(child) = @children << child
170
170
 
171
- # Can be used with any array implementation
171
+ # Can be used with any array implementation. +where+ is either an Integer
172
+ # index or an object
173
+ #
174
+ # TODO: Rename #attach. #insert & #append are Enumerable operations
172
175
  def insert(where, child) = insert_append(:insert, where, child)
173
176
  def append(where, child) = insert_append(:append, where, child)
174
177
 
@@ -22,6 +22,7 @@ module Tree
22
22
 
23
23
  module BranchesProperty
24
24
  def branches = abstract_method
25
+ def bare? = branches.empty?
25
26
  def each_branch(&block) = branches.each(&block)
26
27
  end
27
28
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tree
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modular_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claus Rasmussen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-06 00:00:00.000000000 Z
11
+ date: 2022-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: constrain