From fc27ca62dd3d8df86ce2e0f85668f561b0db43fe Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Fri, 1 Sep 2017 14:58:40 -0400 Subject: Refactor `HeaderNode#find_parent` Now the instance variable assignment is all contained within `#initialize`, and the `children.push` behavior is more explicit. --- lib/banzai/filter/table_of_contents_filter.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'lib/banzai') diff --git a/lib/banzai/filter/table_of_contents_filter.rb b/lib/banzai/filter/table_of_contents_filter.rb index eda94bea5e0..5522986ba21 100644 --- a/lib/banzai/filter/table_of_contents_filter.rb +++ b/lib/banzai/filter/table_of_contents_filter.rb @@ -86,7 +86,8 @@ module Banzai @href = href @children = [] - find_parent(previous_header) + @parent = find_parent(previous_header) + @parent.children.push(self) if @parent end def level @@ -107,15 +108,15 @@ module Banzai return unless previous_header if level == previous_header.level - @parent = previous_header.parent + parent = previous_header.parent elsif level > previous_header.level - @parent = previous_header + parent = previous_header else - @parent = previous_header - @parent = @parent.parent while @parent.level >= level + parent = previous_header + parent = parent.parent while parent.level >= level end - @parent.children.push(self) + parent end end end -- cgit v1.2.1