Pry をカスタマイズする方法

参考:

Customization and configuration · pry/pry Wiki – GitHub

.pryrc ファイル

参考:

.pryrc file – Qiita

Pry rc · pry/pry Wiki – GitHub

プラグインの扱い

pry-* という名前の gem を Bundler でバンドルすると自動的に読み込まれる。

コマンドラインから実行時にプラグインを読み込まない。

$ pry --no-plugins

.pryrc でプラグインを読み込まない指定をする。

Pry.config.should_load_plugins = false

個別にプラグインを無効にする。

Pry.plugins["doc"].disable!

個別にプラグインを有効にする。

Pry.plugins["doc"].activate!

参考:

Plugins – Qiita

Plugins · pry/pry Wiki – GitHub

Available plugins · pry/pry Wiki – GitHub

Railsにてbinding.pryを使うためのGemについて – teratail

Hooks

参考:

`rails console`で、各実行の開始・終了時刻を自動で表示する方法 – Qiita

gem 開発が少し便利になる .pryrc | tail -f pinzo.log

Hooks · pry/pry Wiki – GitHub

Method: Pry::Hooks#add_hook — Documentation for pry | RubyDoc.info

pry/hooks.rb at v0.12.2 · pry/pry – GitHub

コマンドを定義する

参考:

Pry が真の力を発揮してくれる19個のコマンドとコマンドの自作方法 | 酒と涙とRubyとRailsと

Command system · pry/pry Wiki – GitHub

Custom commands · pry/pry Wiki – GitHub

block_command

コマンドの本体をブロックで与えてコマンドを定義する。

参考:

Method: Pry::CommandSet#block_command — Documentation for pry | RubyDoc.info

create_command

コマンドの本体をクラスで与えてコマンドを定義する。

参考:

Method: Pry::CommandSet#create_command — Documentation for pry | RubyDoc.info

takes_block / command_block

takes_block: true を指定するとコマンドがブロックを受け取れるようになる。ブロックは command_block として渡される。

コマンドにブロックを渡す場合は、| { または | doでブロックを開始して行内でブロックを終了する必要がある。

使用例

ls コマンドの出力を Ruby の配列として取得する。

> .ls app/controllers | { |o| instance_variable_set(:@list, o.split) }
> p @list

参考:

Command options – Custom commands · pry/pry Wiki – GitHub

Argument parsing – Custom commands · pry/pry Wiki – GitHub

Method: Pry::Command#command_block — Documentation for pry | RubyDoc.info

pry/shell_command.rb at v0.12.2 · pry/pry – GitHub

複数行の入力/コピペのカスタマイズ

参考:

pry にコードをコピペするためにしておきたい設定 – Qiita

pry でまあまあ簡単に複数行の履歴のコピー、編集を行う – Qiita

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA