lib/rshade/event_tree.rb in rshade-0.2.2 vs lib/rshade/event_tree.rb in rshade-1.10.0

- old
+ new

@@ -8,11 +8,10 @@ def initialize @current = @head = EventTreeNode.new(nil, 0, nil) end - # rubocop:disable Metrics/AbcSize def add(value, level) if current.level + 1 == level current.children << EventTreeNode.new(value, level, current) return end @@ -29,11 +28,10 @@ return unless current.parent @current = current.parent add(value, level) end - # rubocop:enable Metrics/AbcSize def current!(&block) block.call(current.children.last) if current.children.last end @@ -50,26 +48,26 @@ def initialize(value, level, parent = nil) @children = [] @level = level @parent = parent @value = value - @vlevel = vlevel!(parent) + @vlevel = set_vlevel(parent) end def each(&block) block.call(self) if !parent.nil? || !value.nil? children.each { |item| item.each(&block) } end private - def vlevel!(node) + def set_vlevel(node) return 0 if node.nil? if node.value || node.level.zero? node.vlevel + 1 else - vlevel!(node.parent) + set_vlevel(node.parent) end end end end