役に立つのかどうかよくわかりませんが、できるっぽいということがわかったのでメモを残しておきます。
Pry の履歴はデフォルトで ~/.pry_history
に保存されています。これは、~/.pryrc
を適当に設定することで変更することが出来ます。
ところで、Bundler を使用しているプロジェクトでは、メソッド Bundler.root
によりプロジェクトのルートディレクトリ (要は Gemfile とかを置いてあるディレクトリ) が取得できます。
ということで、~/.pryrc
に以下のような記述をすることで、タイトル通り Pry の履歴を Bundler のプロジェクト別にすることができます。
.pryrc
Pry.config.history.file = Bundler.root.join ".pry_history" if defined? Bundler
ちなみに、Rails プロジェクトにおいても Bundler と Pry (pry-rails
) を使っていれば、 bundle exec rails c
などで立ち上げた場合もこれは有効になります。
例えば
/home/ichigo/some-gem
-
/home/ichigo/rails-project-aikatsu8
/home/ichigo/rails-project-soleil
において、 Pry の履歴ファイルはそれぞれ
/home/ichigo/some-gem/.pry_history
-
/home/ichigo/rails-project-aikatsu8/.pry_history
/home/ichigo/rails-project-soleil/.pry_history
というような感じになります。
ただ、このままだと git status
とかしたときに常時 .pry_history
が unstaged なファイルとして表示されてしまうと思うので、その時は global gitignore を設定するなどすると良いと思います。