このブログをご覧のみなさん、こんにちは。
前回、受けた指摘を直して再度レビューしてもらったら、以下の指摘を受けました。
この関数はprivateにした方が見やすいです
単純に今まで public だったメソッドを private にすると、テストが軒並み落ちたので、RSpec で private メソッドをテストする方法を調べたら、以下の記事が引っかかったのですが、引数があるメソッドの書き方が書いていませんでした…。
というわけで、いつも通り、原典にあたったところ、引数がある場合のサンプルコードがそのまま書いてあったので、メモとして残しておきます。
やったこと
- public だったメソッドを private にした
- テストコードを修正
サンプルコード
class Sample
def public_method
"public"
end
private
def private_method(*args)
"private " + args.join(' ')
end
end
sample = Sample.new
p sample.send(:private_method, "hello") #=> ""private hello"