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

参考:

before_whereami – pry-stack_explorer/pry-stack_explorer.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub

when_started

when_started – pry-stack_explorer/pry-stack_explorer.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub

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_manager – pry-stack_explorer/pry-stack_explorer.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub

frame_hash

参考:

frame_hash – pry-stack_explorer/pry-stack_explorer.rb at v0.4.9.3 · pry/pry-stack_explorer – GitHub

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

コメントを残す

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

Protected by reCAPTCHA