class Lookbook::Error
def source_code
def source_code lines = source_code_lines if lines.present? && line_number.is_a?(Integer) start_line = source_code_start_line(lines) end_line = source_code_end_line(lines) highlighted_line = source_code_highlighted_line(lines) line_count = end_line - start_line relevant_lines = lines.slice(start_line - 1, line_count + 1) if relevant_lines.present? empty_start_lines = 0 relevant_lines.each do |line| break unless line.strip.empty? empty_start_lines += 1 end { code: relevant_lines.join("\n").lstrip, start_line: start_line - empty_start_lines, end_line: end_line - empty_start_lines, highlighted_line: highlighted_line - empty_start_lines } end end end