Sha256: d969dd0e46abb0c0ef337a31483e4895893b919c52b2252cc4e05a7860dc8d5f

Contents?: true

Size: 946 Bytes

Versions: 26

Compression:

Stored size: 946 Bytes

Contents

# frozen_string_literal: true

module DeepCover
  module Tools::FormatGeneratedCode
    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
  end
end

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
deep-cover-core-1.1.0 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-1.0.0 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.8.1 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.8.0 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.10 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.9 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.8 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.7 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.6 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.5 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.4 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.3 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.2 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.1 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.7.0 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.6.4 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.6.3 lib/deep_cover/tools/format_generated_code.rb
deep-cover-core-0.6.3.pre lib/deep_cover/tools/format_generated_code.rb
deep-cover-0.6.2 lib/deep_cover/tools/format_generated_code.rb
deep-cover-0.6.1 lib/deep_cover/tools/format_generated_code.rb