#See http://programblings.com/2008/04/11/irbrc-for-the-runtime-tramp/ 
# for more information on tramp_require :-)

def tramp_require(what, &block)
loaded, require_result = false, nil

begin
require_result = require what
loaded = true

rescue Exception => ex
puts "** Unable to require '#{what}'"
puts "--> #{ex.class}: #{ex.message}"
end

yield if loaded and block_given?

require_result
end