Pry и rails 3.2
Время не стоит на месте, и rails развивается своим неведомым путем.
Так получается, что мои советы по работе с pry для привязки его к rails уже не работают в rails 3.2. В частности, если сделать так, как я писал, в консоли не получится сделать reload!
. Все из-за этого Pull Request’а. Теперь, вместо расширения класса Object
и соотв. “загрязнения” глобального namespace, методы работы с консолью помещены в IRB::ExtendCommandBundle
.
Выход из этой ситуации: переписать конфиги соответственно.
В config/environments/development.rb
пишем:
silence_warnings do
begin
require 'pry'
IRB = Pry
module Pry::RailsCommands ;end
IRB::ExtendCommandBundle = Pry::RailsCommands
rescue LoadError
end
end
В корне создаем файл .pryrc
и там:
if Kernel.const_defined?("Rails") then
require File.join(Rails.root,"config","environment")
require 'rails/console/app'
require 'rails/console/helpers'
Pry::RailsCommands.instance_methods.each do |name|
Pry::Commands.command name.to_s do
Class.new.extend(Pry::RailsCommands).send(name)
end
end
end
А если ты любишь гномиков…
…то все резко меняется! Всего лишь
gem install pry-rails
И еще одной колонией гномиков больше на твоем проекте! И, главное, – все работает без этих всяких там .pryrc
.