Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
# Giles Bowkett, Greg Brown, and several audience members from Giles' Ruby East presentation. require 'tempfile' class InteractiveEditor attr_accessor :editor def initialize(editor = :vim) @editor = editor.to_s if @editor == "mate" @editor = "mate -w" end end def edit unless @file @file = Tempfile.new("irb_tempfile") end system("#{@editor} #{@file.path}") execute end def execute @file.rewind Object.class_eval(@file.read) rescue Exception => error puts error end end def edit(editor) unless IRB.conf[:interactive_editors] && IRB.conf[:interactive_editors][editor] IRB.conf[:interactive_editors] ||= {} IRB.conf[:interactive_editors][editor] = InteractiveEditor.new(editor) end IRB.conf[:interactive_editors][editor].edit end def vi edit(:vim) end def mate edit(:mate) end def emacs edit(:emacs) end
This paste will be private.
From the Design Piracy series on my blog: