酒と泪とRubyとRailsと

Ruby on Rails と Objective-C は酒の肴です!

printデバックが強烈に捗るGem Tapp

Ruby/Rails内でメソッドチェーンの途中の値をデバックしたい事ってありませんか?そんな時の最適なソリューションが、『tapp』です!


Gemのインストール

Gemfileに以下を追加して、コンソールでbundleを実行してください。

1
2
# printデバックのサポート
gem "tapp"

使い方

tapp

tappをメソッドチェーンの途中にはさむとpp/putされます。

1
2
3
4
require 'tapp'

'foo'.tapp   #=> `pp 'foo'` and return 'foo'
'foo'.taputs #=> `puts 'foo'` and return 'foo'

tapp(&block)

tappにblcok属性を付加すれば、任意の属性だけを出力できます。

1
2
3
>> Product.first.tapp(&:name)
"hoge"
=> #<Product id: 1, name: "hoge">

tappの消し忘れ対策

コンソール上で、tapp grepを実行するとソース上でtappが使われている箇所を出力してくれます。

1
2
3
4
bundle exec tapp grep
> Gemfile:  gem 'tapp'
> Gemfile.lock: tapp (1.3.0)
> Gemfile.lock: tapp

注意点

Rails(ActiveModel)において、AssociationProxyやScopeがあるメソッドチェーンではtappをつかえないそうです。ご注意下さいまし。

公式サイト

最後に公式のGitHubの紹介です。

esminc/tapp · GitHub

Special Thanks

tappについてそろそろ一言言っておくか - KenchanDiary

最近使ったお気に入りの Awesome な RubyGems たち #awesome #Rails #Ruby #rubygems - Qiita

おすすめの書籍