class SuperDiff::ObjectInspection::Nodes::AsLinesWhenRenderingToLines
Attributes
collection_bookend[R]
Public Class Methods
method_name()
click to toggle source
# File lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb, line 9 def self.method_name :as_lines_when_rendering_to_lines end
new( tree, *args, add_comma: false, collection_bookend: nil, **rest )
click to toggle source
Calls superclass method
# File lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb, line 13 def initialize( tree, *args, add_comma: false, collection_bookend: nil, **rest ) super(tree, *args, **rest) @add_comma = add_comma @collection_bookend = collection_bookend end
node_name()
click to toggle source
# File lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb, line 5 def self.node_name :as_lines_when_rendering_to_lines end
Public Instance Methods
render_to_lines(object, type:, indentation_level:)
click to toggle source
# File lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb, line 42 def render_to_lines(object, type:, indentation_level:) lines = if block render_to_lines_in_subtree( object, type: type, indentation_level: indentation_level, disallowed_node_names: [ :line, :as_lines_when_rendering_to_lines, ], ) else [ SuperDiff::Line.new( type: type, indentation_level: indentation_level, value: immediate_value.to_s, ), ] end with_collection_bookend_added_to_last_line_in( with_add_comma_added_to_last_line_in(lines), ) end
render_to_string(object)
click to toggle source
# File lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb, line 26 def render_to_string(object) # TODO: This happens a lot, can we simplify this? string = if block render_to_string_in_subtree(object) else immediate_value.to_s end if add_comma? string + "," else string end end
Private Instance Methods
add_comma?()
click to toggle source
# File lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb, line 73 def add_comma? @add_comma end
with_add_comma_added_to_last_line_in(lines)
click to toggle source
# File lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb, line 87 def with_add_comma_added_to_last_line_in(lines) if add_comma? lines[0..-2] + [lines[-1].clone_with(add_comma: add_comma?)] else lines end end
with_collection_bookend_added_to_last_line_in(lines)
click to toggle source
# File lib/super_diff/object_inspection/nodes/as_lines_when_rendering_to_lines.rb, line 77 def with_collection_bookend_added_to_last_line_in(lines) if collection_bookend lines[0..-2] + [ lines[-1].clone_with(collection_bookend: collection_bookend), ] else lines end end