結論から言うと、、
Object#send
を使いましょー!
つまり、sendはprotectedなメソッドもprivateなメソッドも呼び出せます。
http://ref.xaio.jp/ruby/classes/object/send
ちょっとした説明。
class Sample
def foo
'this is public method'
end
private
def bar
'this is private method'
end
end
こんなメソッドをコンソールで試したい時、
[1] pry(main)> Sample.new.foo
"this is public method"
[2] pry(main)> Sample.new.bar
private method `bar' called for #<Sample:0x007fc166e6ba48>
エラーになります。
そんな時は、
[3] pry(main)> Sample.new.send(:bar)
"this is private method"
こうすれば呼び出せます。