Module: Compass::Exec

Defined in:
lib/compass/exec.rb

Defined Under Namespace

Classes: Compass

Class Method Summary collapse

Class Method Details

.get_file(exception) ⇒ Object



20
21
22
# File 'lib/compass/exec.rb', line 20

def get_file(exception)
  exception.backtrace[0].split(/:/, 2)[0]
end

.get_line(exception) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/compass/exec.rb', line 24

def get_line(exception)
  # SyntaxErrors have weird line reporting
  # when there's trailing whitespace,
  # which there is for Haml documents.
  return exception.message.scan(/:(\d+)/)[0] if exception.is_a?(::Haml::SyntaxError)
  exception.backtrace[0].scan(/:(\d+)/)[0]
end

.report_error(e, options) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/compass/exec.rb', line 11

def report_error(e, options)
  $stderr.puts "#{e.class} on line #{get_line e} of #{get_file e}: #{e.message}"
  if options[:trace]
    e.backtrace[1..-1].each { |t| $stderr.puts "  #{t}" }
  else
    $stderr.puts "Run with --trace to see the full backtrace"
  end
end