Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
#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
This paste will be private.
From the Design Piracy series on my blog: