Pry のソース
Pry
Pry の本体を定義するクラス
クラスメソッドの機能 (pry_class.rb)
- 設定ファイルの読み込み
- プロンプトの設定
- コマンドヒストリの保持/読み込み
- Pry に対する設定
- 現在のスレッドにおける
__pry__
を保持する - セッションの作成
- Pry セッションの開始
Object#inspect
のクリッピング- 外部からの Pry コマンドの実行 (
run_command
) - スクリーンのリサイズ
- オプションのリセット
Pry
の初期化 (Pry.init
)- オブジェクトのバインディングを取得する
- トップレベルバインディングの提供
- クリティカルセッションの管理
- ブロックを遅延評価するための設定用 DSL
参考:
pry/pry_class.rb at v0.12.2 · pry/pry – GitHub
pry/pry_instance.rb at v0.12.2 · pry/pry – GitHub
Pry::CLI
参考:
pry/cli.rb at v0.12.2 · pry/pry – GitHub
Pry::Command
定義方法により2種類のコマンドタイプがある。
BlockCommand
ClassCommand
アトリビュート
output
target
captures
eval_string
arg_string
context
command_set
hooks
_pry_
参考:
pry/command.rb at v0.12.2 · pry/pry – GitHub
BlockCommand – pry/command.rb at v0.12.2 · pry/pry – GitHub
ClassCommand – pry/command.rb at v0.12.2 · pry/pry – GitHub
call
コマンドを呼び出す。
参考:
BlockCommand#call – pry/command.rb at v0.12.2 · pry/pry – GitHub
ClassCommand#call – pry/command.rb at v0.12.2 · pry/pry – GitHub
process_line
プロンプトで入力した行を処理してコマンドを実行する。
参考:
process_line – pry/command.rb at v0.12.2 · pry/pry – GitHub
pass_block
引数からコマンドに渡すブロックを抽出して command_block
にセットする。
参考:
pass_block – pry/command.rb at v0.12.2 · pry/pry – GitHub
Pry::CommandSet
block_command
create_command
import
import_from
alias_command
rename_command
disabled_command
desc
helpers
list_commands
find_command
/[]
[]=
add_command
process_line
run_command
参考:
pry/command_set.rb at v0.12.2 · pry/pry – GitHub
find_command / []
パターンに合致するコマンドで合致スコアが一番高いものを返す。
参考:
pry/command_set.rb at v0.12.2 · pry/pry – GitHub
process_line
入力を処理してコマンドを実行する。
参考:
pry/command_set.rb at v0.12.2 · pry/pry – GitHub
Pry#current_binding
現在アクティブなセッションの Binding
オブジェクトを返す。
参考:
current_binding – pry/pry_instance.rb at v0.12.2 · pry/pry – GitHub
Pry#run_command
Pry インスタンスでコマンドを実行する。
参考:
pry/pry_instance.rb at master · pry/pry – GitHub
Pry#eval
REPL の入力を評価する。
参考:
eval – pry/pry_instance.rb at v0.12.2 · pry/pry – GitHub
Pry#handle_line
Pry#eval
の処理の中心。プロンプトで入力された行を処理する。
参考:
pry/pry_instance.rb at v0.12.2 · pry/pry – GitHub
Pry#process_command_safely
process_command
で渡された行を処理する。コマンドの実行に失敗した場合には、例外をキャッチしてエラーを表示して true
を返す。
参考:
pry/pry_instance.rb at v0.12.2 · pry/pry – GitHub
Pry#process_command
与えられた行がコマンドであれば、現在のコンテキスト (eval_string
及びバインディング) で実行する。コマンドであった場合は true
を返し、それ以外の場合は false
を返す。
参考:
pry/pry_instance.rb at v0.12.2 · pry/pry – GitHub
Pry#select_prompt
現在のコンテキストに合わせてプロンプト文字列を生成して返す。
参考:
pry/pry_instance.rb at v0.12.2 · pry/pry – GitHub
Pry::Command#run
コマンドから別のコマンドを実行する。
参考:
run – pry/command.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::Ls
現在のスコープにおける定数、メソッド、変数の一覧を表示する。
参考:
pry/ls.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::Ls::LsEntity
次のクラスからエンティティーをリストアップして表示する。
Globals
Constants
Methods
SelfMethods
InstanceVars
LocalNames
LocalVars
参考:
pry/ls_entity.rb at v0.12.2 · pry/pry – GitHub
pry/globals.rb at v0.12.2 · pry/pry – GitHub
pry/constants.rb at v0.12.2 · pry/pry – GitHub
pry/methods.rb at v0.12.2 · pry/pry – GitHub
pry/self_methods.rb at v0.12.2 · pry/pry – GitHub
pry/instance_vars.rb at v0.12.2 · pry/pry – GitHub
pry/local_names.rb at v0.12.2 · pry/pry – GitHub
pry/local_vars.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::ShellCommand
シェルでコマンドを実行する。
参考:
pry/shell_command.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::ShowInput
複数行に渡る入力でこれまでの入力を表示する。
参考:
pry/show_input.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::Bang
複数行に渡る入力でこれまでの入力を破棄する。
参考:
pry/bang.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::AmendLine
複数行に渡る入力でこれまでの入力を書き換える。
参考:
pry/amend_line.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::Edit
エディタでソースコードの編集を開始する。
参考:
pry/edit.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::Play
ファイルやソースコードからコードの断片を読み込ませて実行する。
参考:
pry/play.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::ChangePrompt
登録されているプロンプトの一覧を表示する。
> change-prompt -l
登録されているプロンプトから選択して切り替える。
> change-prompt simple
デフォルトのプロンプトに戻す。
> change-prompt default
参考:
pry/change_prompt.rb at v0.12.2 · pry/pry – GitHub
Pyr::Command::Whereami
現在実行ポインタがある位置のソースコードを表示する。
> whereami
もしくは、エイリアス @
を使う。
> @
現在のメソッドを表示する。
> @ -m
コピペ用に行番号を表示しない。
> @ -nm
全体をまとめて表示する最大のメソッドサイズ (行数) を ~/.pryrc
で指定する。
Pry::Command::Whereami.method_size_cutoff = 25
参考:
pry/whereami.rb at v0.12.2 · pry/pry – GitHub
method_size_cutoff – pry/whereami.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::ShowSource
参考:
pry/show_source.rb at v0.12.2 · pry/pry – GitHub
Pry::Command::ShowInfo
参考:
pry/show_info.rb at v0.12.2 · pry/pry – GitHub
Pry::REPL
コマンドプロンプトから入力を読み取って評価・実行を行うループを回す。
参考:
pry/repl.rb at v0.12.2 · pry/pry – GitHub
Pry::InputCompleter
参考:
pry/input_completer.rb at v0.12.2 · pry/pry – GitHub
Pry::ControlDHandler
Ctrl-D
キーの入力を処理する。
参考:
pry/control_d_handler.rb at fc3526d13 · pry/pry – GitHub
Pry::Helpers::CommandHelpers
参考:
pry/command_helpers.rb at v0.12.2 · pry/pry – GitHub
Pry::Hooks
参考:
pry/hooks.rb at v0.12.2 · pry/pry – GitHub
Pry::PluginManager
参考:
pry/plugins.rb at v0.12.2 · pry/pry – GitHub
Pry::Code
ソースコードを扱うクラス
参考:
pry/code.rb at v0.12.2 · pry/pry – GitHub
Pry::CodeFile
参考:
pry/code_file.rb at v0.12.2 · pry/pry – GitHub
Pry::Code::LOC
ソースコードの行を扱うクラス
参考:
pry/loc.rb at v0.12.2 · pry/pry – GitHub
Pry::CodeObject
参考:
pry/code_object.rb at v0.12.2 · pry/pry – GitHub
Pry::Method
参考:
pry/method.rb at v0.12.2 · pry/pry – GitHub
Pry::Helpers::Text
テキストの装飾、ページャー、行番号、インデントを扱うヘルパー
参考:
pry/text.rb at v0.12.2 · pry/pry – GitHub
text – pry/command.rb at v0.12.2 · pry/pry – GitHub
Pry::Config::Convenience
config
のショートカットメソッドを定義する。
定義されているショートカットメソッド一覧:
input, output, commands, print, exception_handler, hooks, color, pager, editor, memory_size, extra_sticky_locals
参考:
pry/convenience.rb at v0.12.2 · pry/pry – GitHub
sticky_locals
_in_
_out_
_pry_
_ex_
_file_
_dir_
_
__
参考:
sticky_locals – pry/pry_instance.rb at v0.12.2 · pry/pry – GitHub
DEFAULT_PRINT
標準で使われる出力方法
参考:
DEFAULT_PRINT – pry/pry.rb at v0.12.2 · pry/pry – GitHub
Pry.toplevel_binding
参考:
toplevel_binding – pry/pry_class.rb at v0.12.2 · pry/pry – GitHub
Pry.main
Pry でデフォルトのターゲットとなる特殊なオブジェクト
参考:
main – pry/pry_class.rb at v0.12.2 · pry/pry – GitHub
binding.pry / Object#pry
オブジェクトをターゲットにして Pry セッションを開始する。
参考:
pry – pry/core_extensions.rb at v0.12.2 · pry/pry – GitHub
Object#__binding__ / BasicObject#__binding__
参考:
Object#__binding__ – pry/core_extensions.rb at v0.12.2 · pry/pry – GitHub
BasicObject#__binding__ – pry/core_extensions.rb at v0.12.2 · pry/pry – GitHub
Pry.start
参考:
start – pry/pry_class.rb at v0.12.2 · pry/pry – GitHub
pry-byebug のソース
PryByebug::BacktraceCommand
参考:
pry-byebug/backtrace.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
perform_backtrace – pry-byebug/pry_processor.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
PryByebug::UpCommand
参考:
pry-byebug/up.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
perform_up – pry-byebug/pry_processor.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
PryByebug::DownCommand
参考:
pry-byebug/down.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
perform_down – pry-byebug/pry_processor.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
PryByebug::BreakCommand
参考:
pry-byebug/breakpoint.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
PryByebug::Breakpoints
ブレークポイントを扱うモジュール。Byebug.breakpoints
のラッパー。
参考:
pry-byebug/breakpoints.rb at v3.7.0 · deivid-rodriguez/pry-byebug
PryByebug::BreakPoints.add_file
ファイルの指定した行にブレークポイントを設定する。
参考:
add_file – pry-byebug/breakpoints.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
PryByebug::Helpers::Breakpoints
ブレークポイント関連のヘルパー
参考:
pry-byebug/breakpoints.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
breakpoints
ブレークポイントを格納した配列。
参考:
breakpoints – pry-byebug/breakpoints.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
print_full_breakpoint
ブレークポイントの位置と前後のソースコードを表示する。
参考:
print_full_breakpoint – pry-byebug/breakpoints.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
PryByebug.check_file_context
参考:
check_file_context – pry-byebug/base.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
breakout_navigation
参考:
breakout_navigation – pry-byebug/navigation.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
PryProcessor
参考:
pry-byebug/pry_processor.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
resume_pry
参考:
resume_pry – pry-byebug/pry_processor.rb at v3.7.0 · deivid-rodriguez/pry-byebug – GitHub
byebug のソース
WhereCommand
参考:
byebug/where.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
print_backtrace
参考:
print_backtrace – byebug/where.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
Frame
参考:
byebug/frame.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
Command
参考:
byebug/command.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
CommandProcessor
参考:
byebug/command_processor.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
prc
参考:
prc – byebug/command.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
Printers::Plain
参考:
byebug/plain.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
print_collection
参考:
print_collection – byebug/plain.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
plain.yml
参考:
byebug/plain.yml at v11.0.1 · deivid-rodriguez/byebug – GitHub
Printers::Base
参考:
byebug/base.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
FrameHelper
参考:
byebug/frame.rb at v11.0.1 · deivid-rodriguez/byebug – GitHub
pry-stack_explorer のソース
PryStackExplorer
参考:
pry-stack_explorer/pry-stack_explorer.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub
before_whereami
参考:
when_started
WhenStartedHook
参考:
pry-stack_explorer/when_started_hook.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub
Commands
参考:
Commands – pry-stack_explorer/commands.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub
FrameHelpers
参考:
FrameHelpers – pry-stack_explorer/commands.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub
show-stack コマンド
現在の停止位置におけるスタックトレースを一覧表示する。
frame_info
binding
からスタックフレーム情報を取得し、整形して返す。frame_description
binding
からコンテキスト (メソッド名/モジュール名/クラス名/main
) を取得して文字列として返す。
参考:
show-stack – pry-stack_explorer/commands.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub
frame_info – pry-stack_explorer/commands.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub
frame_description – pry-stack_explorer/commands.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub
FrameManager
参考:
FrameManager – pry-stack_explorer/frame_manager.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub
frame_manager
参考:
frame_hash
参考:
frame_hash – pry-stack_explorer/pry-stack_explorer.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub