Sha256: 02fb5636c8f5d9d2ef0c097255d77ef4bf7c35b337532d0e9f09906954226d2c

Contents?: true

Size: 1.19 KB

Versions: 4

Compression:

Stored size: 1.19 KB

Contents

module Bundler
  def self.with_friendly_errors
    begin
      yield
    rescue Bundler::BundlerError => e
      Bundler.ui.error e.message
      Bundler.ui.debug e.backtrace.join("\n")
      exit e.status_code
    rescue Interrupt => e
      Bundler.ui.error "\nQuitting..."
      Bundler.ui.debug e.backtrace.join("\n")
      exit 1
    rescue SystemExit => e
      exit e.status
    rescue LoadError => e
      case e.message
      when /cannot load such file -- openssl/, /openssl.so/, /libcrypto.so/
        Bundler.ui.error "\nCould not load OpenSSL."
        Bundler.ui.warn "You must recompile Ruby with OpenSSL support or change the sources in your" \
          "\nGemfile from 'https' to 'http'. Instructions for compiling with OpenSSL" \
          "\nusing RVM are available at rvm.io/packages/openssl."
        Bundler.ui.debug "#{e.class}: #{e.message}"
        Bundler.ui.debug e.backtrace.join("\n")
        exit 1
      else
        raise e
      end
    rescue Exception => e
      Bundler.ui.error(
        "Unfortunately, a fatal error has occurred. Please see the Bundler \n" \
        "troubleshooting documentation at http://bit.ly/bundler-issues. Thanks! \n")
      raise e
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bundler-1.2.5 lib/bundler/friendly_errors.rb
bundler-1.2.4 lib/bundler/friendly_errors.rb
bundler-1.2.3 lib/bundler/friendly_errors.rb
bundler-1.2.2 lib/bundler/friendly_errors.rb