ruby: improve config for pry and irb
parent
e3f26e752c
commit
e29945a130
|
@ -1,19 +1,5 @@
|
||||||
require 'irb/completion'
|
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
|
# configure irb
|
||||||
IRB.conf[:AUTO_INDENT]=true
|
IRB.conf[:AUTO_INDENT]=true
|
||||||
|
|
||||||
|
@ -22,25 +8,4 @@ IRB.conf[:EVAL_HISTORY] = 1000
|
||||||
IRB.conf[:SAVE_HISTORY] = 1000
|
IRB.conf[:SAVE_HISTORY] = 1000
|
||||||
IRB.conf[:HISTORY_FILE] = File.expand_path("~/.irb_history")
|
IRB.conf[:HISTORY_FILE] = File.expand_path("~/.irb_history")
|
||||||
|
|
||||||
# load .irbrc_rails in rails environments
|
load "#{ENV['HOME']}/.rubyrc" if File.exist?("#{ENV['HOME']}/.rubyrc")
|
||||||
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
|
|
||||||
|
|
32
ruby/pryrc
32
ruby/pryrc
|
@ -1,34 +1,4 @@
|
||||||
# vim FTW
|
# vim FTW
|
||||||
Pry.config.editor = 'vim'
|
Pry.config.editor = 'vim'
|
||||||
|
|
||||||
# Repeat last command on enter
|
load "#{ENV['HOME']}/.rubyrc" if File.exist?("#{ENV['HOME']}/.rubyrc")
|
||||||
# https://github.com/pry/pry/issues/607
|
|
||||||
Pry::Commands.command(/^$/, "repeat last command") do
|
|
||||||
_pry_.input = StringIO.new(Pry.history.to_a.last)
|
|
||||||
end
|
|
||||||
|
|
||||||
# Toys methods
|
|
||||||
# See https://gist.github.com/807492
|
|
||||||
class Array
|
|
||||||
def self.toy(n=10, &block)
|
|
||||||
block_given? ? Array.new(n,&block) : Array.new(n) {|i| i+1}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Hash
|
|
||||||
def self.toy(n=10)
|
|
||||||
Hash[Array.toy(n).zip(Array.toy(n){|c| (96+(c+1)).chr})]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Ask for Apartment tenant
|
|
||||||
if defined?(Rails::Console) && defined?(Apartment)
|
|
||||||
available_tenants = Apartment.tenant_names.sort
|
|
||||||
default_tenant = available_tenants.first
|
|
||||||
|
|
||||||
puts "Available tenants: #{available_tenants.join(',')}"
|
|
||||||
print "Select tenant (#{default_tenant}): "
|
|
||||||
tenant = gets.strip
|
|
||||||
|
|
||||||
Apartment::Tenant.switch(available_tenants.include?(tenant) ? tenant : default_tenant)
|
|
||||||
end
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
class Array
|
||||||
|
def self.toy(n=10, &block)
|
||||||
|
block_given? ? Array.new(n,&block) : Array.new(n) {|i| i+1}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Hash
|
||||||
|
def self.toy(n=10)
|
||||||
|
Hash[Array.toy(n).zip(Array.toy(n){|c| (96+(c+1)).chr})]
|
||||||
|
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
|
||||||
|
|
||||||
|
# Ask for Apartment tenant
|
||||||
|
if defined?(Rails::Console) && defined?(Apartment)
|
||||||
|
available_tenants = Apartment.tenant_names.sort
|
||||||
|
default_tenant = available_tenants.first
|
||||||
|
|
||||||
|
puts "Available tenants: #{available_tenants.join(',')}"
|
||||||
|
print "Select tenant (#{default_tenant}): "
|
||||||
|
tenant = gets.strip
|
||||||
|
|
||||||
|
Apartment::Tenant.switch!(available_tenants.include?(tenant) ? tenant : default_tenant)
|
||||||
|
end
|
Loading…
Reference in New Issue