Thank you to anyone who has already donated - your generous donations helped make three months of treatment possible.

My brother Nate continues to fight stage IV Hodgkin's lymphoma. He's just 31, with a wife and baby girl. They have no active income (since he's been unable to return to work), no insurance, and cannot afford the treatment he needs. Nate and his family need your help. Please consider a donation, every dollar helps. Thanks.



			
#My irbrc (Mathieu Martin => webmat on gmail)
#See http://programblings.com/2008/04/11/irbrc-for-the-runtime-tramp/ 
# for more information on tramp_require :-)

IRB_START_TIME = Time.now
puts IRB_START_TIME
IRB.conf[:AUTO_INDENT]=true

HASH = { :bob => 'Marley', :mom => 'Barley', :gods => 'Harley', :chris => 'Farley'}
ARRAY = HASH.keys

require 'rubygems'

$debug_irbrc=false

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

  begin
    puts('', "requiring #{what}") if $debug_irbrc
    require_result = require what
    loaded = true
    puts "successfully required #{what}" if $debug_irbrc

  rescue Exception => ex
    puts "** Unable to require '#{what}'"
    exception_details = "#{ex.class}: #{ex.message}"
    if $debug_irbrc
      ex.backtrace.reverse.each{|l| exception_details << "\n   #{l}"}
    else
      exception_details.insert(0, "--> ")
    end
    puts exception_details
  end

  if loaded and block_given?
    puts "executing block for #{what}" if $debug_irbrc
    yield
  end

  require_result
end

=begin
#Equivalent implementation, without all the debugging noise :-)
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
=end

tramp_require('duration') do
  at_exit { puts Duration.new(Time.now - IRB_START_TIME) }
end

tramp_require 'what_methods'

tramp_require 'pp'

tramp_require('wirble') do
  Wirble.init(:skip_prompt=>true)
  Wirble.colorize
end