初心者がRailsのコードリーディングに挑戦 #7
以前見たこちらの記事を参考に、Railsのコードリーディングに挑戦してみたいと思います。
◇ 前回までの記事一覧
確認用のRailsプロジェクトを作る
の続きから!
前回GemfileにGemを追記したので、その詳細を見ていきます。
調べた事をメモしましたが違いが分かりづらいので、後半でちょっと実験をしてみようと思っています。
— インストールしたGemについて —
◇ pgとは
PostgreSQLの接続に使用するGem
◇ PostgreSQLとは
無償のデータベースのメジャーなものが「PostgreSQL」、「MySQL」、「SQLite」の3つのようです。
それぞれ性能が違うようで、作りたい機能によってどれを使うかを選ぶようです。
いつも使っていたのはSQLite3でしたが、ここではこのPostgreSQLというものを使っていくという事でしょうか。
◇ pry-railsとは
デバックするためのGem
この機能を使ってRailsのソースコードを読んでいくようです。
◇ pry-docとは
◇ pry-byebugとは
バグを修正するためのGem
【pry-byebugで使えるコマンド】
手順を追っている参考サイトで ”step” というコマンドを使っているので、これを使う為にインストールしたのかなと思います。
◇ byebugとは
こちらもデバックするためのGemのようです。
こちらでは、処理を止めたいところに ”byebug” というメソッドを書くようです。
【byebugで使えるコマンド】
pryとは “覗く” という意味のようです。
ここからは勝手な想像ですが、docはdo C(C言語にする)という事でしょうか。
byebugは「ばいばいバク」みたいな感じですかね。かわいいです。
byebugとpry-byebugの違いが分かりづらいので試してみます。
byebugはそれ単体で処理を止める記述を足したり、コマンドプロンプトで確認するところまで出来そうです。
pry-byebugはpry-railsとセットで使う感じでしょうか。
— Gemを試しに使ってみる —
実験1 byebugだけ使ってみる
実験用につくったフォルダーのGemfileにbyebugだけ追加してインストールしてみました。
そしてUserモデルを作って、記述内に ”byebug” とバリデーションを追記。
コンソールで
user = User.new(name: “ “)
と入力しようとしたところ、
「user = User.」と入力したところでこんな感じになりました。
そして “step” というコマンドを使ってみました。
これで、railsリポジトリのactivemodel/lib/active_model/validations/validates.rbというファイルの107行目にバリデーションの事が書いてあるということが分かるんですね。
これだけでも充分使えそうですね。
実験2 pry-railsだけ使ってみる
次はさっきのbyebugをアンインストールし、pry-railsのみ入れてみます。
そしてUserモデル内の記述を ”byebug” から“binding.pry” に変更。
そしてまたコンソールでデータを入力してみます。
今度は最後まで入力できました。
Enterキーを押すとこんな感じ。
まだpry-byebugをインストールしていないので、たぶんstepは使えないと思いますが、ちょっと試してみます。
やっぱりだめみたいですね。
実験3 pry-railsとpry-byebugを使ってみる
ではpry-byebugもインストールしてみます。
この状態でコンソールにデータを入力すると、
stepが使えるようになりました!
示している場所はさっきのbyebugの時と同じですね。
実験4 pry-railsとpry-byebugとpry-docを使ってみる
では最後にpry-docもインストールしてみます。
どう変わるでしょうか。
ここまでは特に変化は見られませんね。
pry-docはどこで効果を発揮するのでしょうか。
pry-docの事を調べたこのサイト ↓
これをマネして入力してみました。
何やら出てきましたね。
でもそういえば私はそもそもC言語が分からないので見てもよく分かりません(ーー;)
実際にソースコードを読んでいく時に出てきたらその都度調べようと思います。
長くなってしまったので、今回はこのへんで!
実験していくうちにコマンドも手に馴染んできて結構楽しかったです。
この記事が気に入ったらサポートをしてみませんか?