Created
October 10, 2018 14:02
-
-
Save morhekil/1a1a5c939bfc7e5d9738823033131e29 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Some default enhancements/settings for IRB, based on | |
# http://wiki.rubygarden.org/Ruby/page/show/Irb/TipsAndTricks | |
require 'irb' | |
unless defined? ETC_IRBRC_LOADED | |
# Require RubyGems by default. | |
require 'rubygems' | |
# Activate auto-completion. | |
require 'irb/completion' | |
# Use the simple prompt if possible. | |
IRB.conf[:PROMPT_MODE] = :SIMPLE if IRB.conf[:PROMPT_MODE] == :DEFAULT | |
# Setup permanent history. | |
require 'irb/ext/save-history' | |
HISTFILE = "~/.irb_history" | |
MAXHISTSIZE = 100 | |
begin | |
histfile = File::expand_path(HISTFILE) | |
if File::exists?(histfile) | |
lines = IO::readlines(histfile).collect { |line| line.chomp } | |
puts "Read #{lines.size} saved history commands from '#{histfile}'." if $VERBOSE | |
Readline::HISTORY.push(*lines) | |
else | |
puts "History file '#{histfile}' was empty or non-existant." if $VERBOSE | |
end | |
Kernel::at_exit do | |
lines = Readline::HISTORY.to_a.reverse.uniq.reverse | |
lines = lines[-MAXHISTSIZE, MAXHISTSIZE] if lines.size > MAXHISTSIZE | |
puts "Saving #{lines.length} history lines to '#{histfile}'." if $VERBOSE | |
File::open(histfile, File::WRONLY|File::CREAT|File::TRUNC) { |io| io.puts lines.join("\n") } | |
end | |
rescue => e | |
puts "Error when configuring permanent history: #{e}" if $VERBOSE | |
end | |
ETC_IRBRC_LOADED=true | |
end | |
# Add all gems in the global gemset to the $LOAD_PATH so they can be used even | |
# in places like 'rails console'. | |
if defined?(::Bundler) | |
global_gemset = ENV['GEM_PATH'].split(':').grep(/ruby.*@global/).first | |
if global_gemset | |
all_global_gem_paths = Dir.glob("#{global_gemset}/gems/*") | |
all_global_gem_paths.each do |p| | |
gem_path = "#{p}/lib" | |
$LOAD_PATH << gem_path | |
end | |
end | |
end | |
require 'rubygems' | |
require 'pry' | |
require 'awesome_print' | |
require 'rubocop' | |
require 'reek' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment