2014/06/27

gem 開発が少し便利になる .pryrc

gem の動きを pry で確認するのはよくあることで、
pry(main)> $LOAD_PATH.unshift './lib'
pry(main)> require 'my_gem'
みたいなのを毎度やっていた。
誰かの gem の挙動を確認したいなーというだけならまだいいけど、自分で開発している時に何度もやるのはめんどくさい。
そんな時に役に立つのが .pryrc
Pry::DEFAULT_HOOKS.add_hook(:before_session, :gem_auto_require) do |out, target, _pry_|
dir = `pwd`.chomp
gem_name = File.basename(dir)
if File.exist?(File.join(dir, "#{gem_name}.gemspec"))
lib = File.join(dir, 'lib')
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
if File.exist?(File.join(lib, "#{gem_name}.rb"))
begin
require gem_name
rescue LoadError => e
puts "gem_auto_require: #{e.message}"
end
end
end
end
view raw gistfile1.rb hosted with ❤ by GitHub
こんなのを書いておいた。
カレントディレクトリに my_gem.gemspec ファイルがあれば gem だと判断し、 lib/my_gem.rb があれば自動的に require してくれる。

0 件のコメント :

コメントを投稿