47 lines
1.0 KiB
Plaintext
Executable File
47 lines
1.0 KiB
Plaintext
Executable File
require 'irb/completion'
|
|
|
|
# interactive editor: use vim from within irb
|
|
begin
|
|
require 'interactive_editor'
|
|
rescue LoadError => err
|
|
warn "Couldn't load interactive_editor: #{err}"
|
|
end
|
|
|
|
# awesome print
|
|
begin
|
|
require 'awesome_print'
|
|
rescue LoadError => err
|
|
warn "Couldn't load awesome_print: #{err}"
|
|
end
|
|
|
|
# configure irb
|
|
IRB.conf[:AUTO_INDENT]=true
|
|
|
|
# irb history
|
|
IRB.conf[:EVAL_HISTORY] = 1000
|
|
IRB.conf[:SAVE_HISTORY] = 1000
|
|
IRB.conf[:HISTORY_FILE] = File.expand_path("~/.irb_history")
|
|
|
|
# load .irbrc_rails in rails environments
|
|
railsrc_path = File.expand_path('~/.irb-railsrc')
|
|
if (ENV['RAILS_ENV'] || defined? Rails) && File.exist?(railsrc_path)
|
|
begin
|
|
load railsrc_path
|
|
rescue Exception
|
|
warn "Could not load: #{ railsrc_path } because of #{$!.message}"
|
|
end
|
|
end
|
|
|
|
class Object
|
|
def interesting_methods
|
|
case self.class
|
|
when Class
|
|
self.public_methods.sort - Object.public_methods
|
|
when Module
|
|
self.public_methods.sort - Module.public_methods
|
|
else
|
|
self.public_methods.sort - Object.new.public_methods
|
|
end
|
|
end
|
|
end
|