Skip to content

Instantly share code, notes, and snippets.

@rondale-sc
Created October 19, 2011 05:05
Show Gist options
  • Save rondale-sc/1297510 to your computer and use it in GitHub Desktop.
Save rondale-sc/1297510 to your computer and use it in GitHub Desktop.
pryrc
# include this in your ~/.zshrc or ~/.bashrc
pconsole () {
if [[ $1 == production ]];
then RAILS_ENV=production bundle exec pry -r ./config/environment.rb -r rails/console/app -r rails/console/helpers;
elif [[ $1 == test ]];
then RAILS_ENV=test pry -r ./config/environment.rb -r rails/console/app -r rails/console/helpers;
else bundle exec pry -r ./config/environment.rb -r rails/console/app -r rails/console/helpers;
fi }
%w[rubygems pp logger].each do |gem|
begin
require gem
rescue LoadError
end
end
Pry.config.editor = "mate -w"
# Default Command Set, add custom methods here:
default_command_set = Pry::CommandSet.new do
command "copy", "Copy argument to the clip-board" do |str|
IO.popen('pbcopy', 'w') { |f| f << str.to_s }
end
command "clear" do
system 'clear'
if ENV['RAILS_ENV']
output.puts "Rails Environment: " + ENV['RAILS_ENV']
end
end
command "sql", "Send sql over AR." do |query|
if ENV['RAILS_ENV'] || defined?(Rails)
pp ActiveRecord::Base.connection.select_all(query)
else
pp "Pry did not require the environment, try `pconsole`"
end
end
command "caller_method" do |depth|
depth = depth.to_i || 1
if /^(.+?):(\d+)(?::in `(.*)')?/ =~ caller(depth+1).first
file = Regexp.last_match[1]
line = Regexp.last_match[2].to_i
method = Regexp.last_match[3]
output.puts [file, line, method]
end
end
end
Pry.config.commands.import default_command_set
Pry.config.should_load_plugins = false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment