Skip to content

Commit

Permalink
Merge pull request #77 from everyleaf/update-topics
Browse files Browse the repository at this point in the history
topicsの情報を更新する - debug gemを紹介する
  • Loading branch information
akira888 authored Aug 23, 2024
2 parents 6adb360 + 1302e87 commit 52ab68f
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions docs/topics.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

本ドキュメントは、カリキュラムに具体的には含まれていませんが、知っておいてほしいトピックをまとめたものです。特定のステップに含めることができなかった話題はここにまとめておきます。

NOTE: 機能の紹介ではなく、それをこういう風に良く使っていますというアプローチでまとめたいです。

## git に関するトピック

gitの詳しい解説については
Expand Down Expand Up @@ -114,44 +112,46 @@ Railsのアプリケーションツリーに移動して以下のように起動
$ rails c
```

### pry を利用する
### debug gem を利用する

pry という Gem を利用すると、アプリケーションの実行中に好きな場所で対話的な実行環境(REPL)を開いて現在の変数の状態や実行結果を得ることができるようになります
debug という Gem を利用すると、アプリケーションの実行中に好きな場所で対話的な実行環境(REPL)を開いて現在の変数の状態や実行結果を得たり、リモートデバッグができるようになります

公式ドキュメント: https://github.com/pry/pry/wiki
公式ドキュメント: https://github.com/ruby/debug/blob/master/README.md

#### Railsにおけるインストール方法

Gemfile に以下の一文を追加します。(開発時にだけ使用するため、development と test 環境でのみ導入します)

```Ruby
group :development, :test do
gem 'pry-rails'
gem 'debug'
end
```

`bundle install` コマンドを実行すると使えるようになります。

#### 使用方法

コードのうち、状況を確認したい部分に次のように `binding.pry` を記述します。
#### 使用例

1. デバッグしたいファイル上でdebugを読み込みます。
```Ruby
require 'debug'
```
2. 状況を確認したい部分に次のように `binding.break` を記述します。
```Ruby
def foo
...
binding.pry
...
def parse(str)
binding.break
str.split(',')
end
```

アプリケーションを実行した時点で、 `binding.pry` を記述した部分に処理が到達すると、そこで REPL が立ち上がるので、宣言済みの変数の中身を見たり、メソッドを実行したりできます。
アプリケーションを実行した時点で、 `binding.break` を記述した部分に処理が到達すると、そこで REPL が立ち上がるので、宣言済みの変数の中身を見たり、メソッドを実行したりできます。


### ローカルにある Gem の中身を見る

開発中にアプリケーションで使用している Gem の詳しい挙動を知る必要性があることはよくあります。
その際には自分のマシンにインストールされた Gem を見たり、
Gem の中で `binding.pry` を記載して詳細なデータの流れを見たりして把握することが多いです。
Gem の中で `binding.break` を記載して詳細なデータの流れを見たりして把握することが多いです。
また、Gem のコードを読んで参考にすることで、コーディング能力を磨くのにも役に立つでしょう。

bundler には、Gemfile で管理されている Gem を取り扱うのに便利なコマンドが幾つか提供されています。
Expand All @@ -175,7 +175,7 @@ $ export BUNDLER_EDITOR=atom
$ bundle open rails
```

ここから、詳しく見たいコードを精査したり、`binding.pry` などでデバッグコードを入れて、挙動を詳しく見ることができます。
ここから、詳しく見たいコードを精査したり、`binding.break` などでデバッグコードを入れて、挙動を詳しく見ることができます。

#### gem pristine

Expand Down

0 comments on commit 52ab68f

Please sign in to comment.