Class: TPTree::Presenters::TreeNodePresenter
- Inherits:
-
Object
- Object
- TPTree::Presenters::TreeNodePresenter
- Defined in:
- lib/tp_tree/presenters/tree_node_presenter.rb
Overview
TreeNodePresenter handles the formatting and display logic for TreeNode objects
Instance Method Summary collapse
-
#initialize(tree_node, formatter: nil) ⇒ TreeNodePresenter
constructor
A new instance of TreeNodePresenter.
- #to_parts ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(tree_node, formatter: nil) ⇒ TreeNodePresenter
Returns a new instance of TreeNodePresenter.
9 10 11 12 |
# File 'lib/tp_tree/presenters/tree_node_presenter.rb', line 9 def initialize(tree_node, formatter: nil) @tree_node = tree_node @formatter = formatter || Formatters::AnsiFormatter.new end |
Instance Method Details
#to_parts ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/tp_tree/presenters/tree_node_presenter.rb', line 30 def to_parts prefix_parts = build_prefix_parts color = @formatter.color_for_depth(@tree_node.depth) colored_method_name = @formatter.colorize(@tree_node.method_name, color) timing_info = @formatter.format_timing(@tree_node.duration) content = case @tree_node.event when :call "#{colored_method_name}(#{@formatter.format_parameters(@tree_node.parameters)})#{timing_info}" when :return "#{@formatter.format_return_value(@tree_node.return_value)}#{timing_info}" when :call_return "#{colored_method_name}(#{@formatter.format_parameters(@tree_node.parameters)}) → #{@formatter.format_return_value(@tree_node.return_value)}#{timing_info}" end [prefix_parts, content] end |
#to_s ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/tp_tree/presenters/tree_node_presenter.rb', line 14 def to_s prefix = build_prefix color = @formatter.color_for_depth(@tree_node.depth) colored_method_name = @formatter.colorize(@tree_node.method_name, color) timing_info = @formatter.format_timing(@tree_node.duration) case @tree_node.event when :call "#{prefix}#{colored_method_name}(#{@formatter.format_parameters(@tree_node.parameters)})#{timing_info}" when :return "#{prefix}#{@formatter.format_return_value(@tree_node.return_value)}#{timing_info}" when :call_return "#{prefix}#{colored_method_name}(#{@formatter.format_parameters(@tree_node.parameters)}) → #{@formatter.format_return_value(@tree_node.return_value)}#{timing_info}" end end |