Sha256: f334b5b43ad5856baaa6b5978e586d8028b0f42f846e824ac6a94462118b12c2

Contents?: true

Size: 913 Bytes

Versions: 1

Compression:

Stored size: 913 Bytes

Contents

class RenderMePretty::Erb
  class MainErrorHandler < BaseHandler
    # For general Tilt errors first line of the backtrace that contains the path
    # of the file we're rendeirng and has the line number. Example:
    #
    #   spec/fixtures/invalid.erb:2:in `block in singleton class'
    #   error_info = e.backtrace[0]
    def find_line_number
      lines = @exception.backtrace
      error_line = lines.find do |line|
        line.include?(template_path_with_error)
      end

      if error_line.nil?
        puts "WARN: Unable to find line number. Fallback and print out full backtrace."
        puts @exception.backtrace
      else
        error_line.split(":")[1].to_i
      end
    end

    def error_in_layout?
      # The first line of the backtrace has the template path that errored
      error_info = @exception.backtrace[0]
      error_info.include?(@layout_path) if @layout_path
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
render_me_pretty-1.0.0 lib/render_me_pretty/erb/main_error_handler.rb