Sinatra pry(irb)でヘルパーメソッドを呼び出す

コンソールでメソッド呼びたかったけど結構つまづいたのでメモ代わりにまとめ。

Pry起動

# Gemfile: gem 'pry'
$ bundle exec pry -r 'app.rb'

Helper呼び出し

 pry(main)> MyApp.new.helpers.hoge
=> 'hoge'

github.com
でWrapperにhelpersが定義されていて、ヘルパーメソッドは上記のように呼び出すことができる。

躓いたのがヘルパー以外の、クラス内に定義されてるメソッド呼び出しで、newしても上手くいかなくて困ってたけどこの記事*1を参考にしたら解決した。
Sinatra::Baseに限らずミドルウェアを継承させているクラスでは、エイリアスのnew!を使う必要がある(allocateでもいい)


インスタンスメソッド呼び出し

 pry(main)> my_app = MyApp.new!
 pry(main)> my_app.fuga
=> 'fuga'

private メソッド呼び出し

 pry(main)> my_app = MyApp.new!
 pry(main)> my_app.send(piyo)
=> 'piyo'