Sha256: c9f2f8e12cc7ec3666c9073264a625dc4a377a22d0ea20e99e4c6f8f445c1867

Contents?: true

Size: 1.11 KB

Versions: 4

Compression:

Stored size: 1.11 KB

Contents

module Awestruct
  class ExceptionHelper

    EXITCODES = {:generation_error => 125, :success => 0}

    @@failed = false

    def self.log_message message
      $LOG.error message if $LOG.error?
    end

    def self.log_error exception
      mark_failed
      $LOG.error "An error occurred: #{exception.message}" if $LOG.error?
    end

    def self.log_backtrace exception
      $LOG.error "#{exception.backtrace.join("\n")}" if $LOG.error?
    end
    
    def self.log_building_error exception, relative_source_path
      $LOG.error "While processing file #{relative_source_path}" if $LOG.error?
      self.log_error exception
      self.log_backtrace exception
    end

    def self.mark_failed
      @@failed = true
    end

    def self.build_failed?
      return @@failed
    end

    def self.html_error_report exception, relative_source_path
      mark_failed
      "<h1>#{exception.message}</h1>
<h2>Rendering file #{relative_source_path} resulted in a failure.</h2>
<p>Line: #{(exception.respond_to? :line) ? exception.line : 'unknown'}</p>
<p>Backtrace:</p>
<pre>#{exception.backtrace.join "\n"}</pre>"
    end 
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
awestruct-0.5.7.RC2 lib/awestruct/util/exception_helper.rb
awestruct-0.5.7.RC1 lib/awestruct/util/exception_helper.rb
awestruct-0.5.6 lib/awestruct/util/exception_helper.rb
awestruct-0.5.6.beta9 lib/awestruct/util/exception_helper.rb