【開発】Ruby(on Rails)開発でブレークポイント作りたいなら「pry-byebug」がオススメ!

f:id:keisuke_ohta:20160115111425j:plain

Ruby(on Rails)で作られたプロジェクトで開発をしているとたまに困ったことがおきます。それはブレークポイントを作れないことです。

公式ドキュメントにはできるっぽいことが書かれてはいるのですが、なんだかブレークポイントの定義が違うようで、デバッグのためのブレークポイントではなさそうです。

自社のプロダクトを開発している時に、どうしてもブレークポイントを貼って開発したいという状況が発生しました。そこでいろいろ調べたところ、ブレークポイントを貼れる「pry-byebug」というgemを見つけました。

使ってみたところ、けっこういい感じだったので今回は「pry-byebug」の導入から使い方までを共有したいと思います。

前提条件

最初に、「pry-byebug」を導入するにあたっての影響がありそうな前提条件を書いておきます。

導入

Gemfileのdevelopment(とtest)グループにgem 'pry-byebug'と書いて、ターミナルからbundle installします。Gemfileは細かく書くとこんな感じです。

group :development, :test do
  gem 'pry-byebug'
end

以上でプロジェクトにpry-byebugがインストールできます。

使い方

使い方はブレークポイントを貼りたい場所にbinding.pryと書くだけです。

class HomeController < ApplicationController
  def index
    p 'ブレークポイントによって止まりました'
    binding.pry
    p 'ブレークポイントを過ぎました'
  end
end

それを書いたうえでサーバを立ち上げてそのメソッドを呼ぶとpryのコンソールが立ち上がります。コンソールが立ち上がったら必要に応じて、

  • continue(pryを終了)

  • step(次の行を実行)

  • next

  • finish

を打つだけ。

こんな感じでブレークポイントを使ったruby開発ができます。

https://gyazo.com/9a45f7ad78389d18005bbb3cac88eb34

まとめ

iOS開発をしていると、rubyでも当たり前のようにブレークポイントが貼れるように思ってしまいますが、xcodeのようには簡単にできず一手間必要です。ブレークポイントを使ったruby開発したい人は参考にしてみてください。

それではまた。

photo credit: I love working in this RAILS enviroment via photopin (license)