module DeepCover::Tools::FormatGeneratedCode
Public Instance Methods
format_generated_code(covered_code)
click to toggle source
# File lib/deep_cover/tools/format_generated_code.rb, line 5 def format_generated_code(covered_code) inserts = [] generated_code = covered_code.instrument_source do |inserted, _node, expr_limit| inserts << [expr_limit, inserted.size] Term::ANSIColor.yellow(inserted) end inserts = inserts.sort_by { |exp, _| [exp.line, exp.column] }.reverse generated_lines = generated_code.split("\n") inserts.each do |exp_limit, size| # Line index starts at 1, so array index returns the next line comment_line = generated_lines[exp_limit.line] next if Tools.blank?(comment_line) next unless comment_line.start_with?('#>') next if comment_line.start_with?('#>X') next unless comment_line.size >= exp_limit.column comment_line.insert(exp_limit.column, ' ' * size) end generated_lines.join("\n") end