以下のコードにつき、rubocop -aを実行したところ、修正を頂戴しました。
app/helpers/question_helper.rb
class AddQuestion
def initialize(a,b)
@text = "#{a} + #{b}"
@answer = a + b
end
# rubocop -a 実行前 -------------------------------
def text # ゲッター
@text
end
def answer # ゲッター
@answer
end
# rubocop -a 実行前 -------------------------------
# rubocop -a 実行後 -------------------------------
attr_reader :text, :answer
# rubocop -a 実行後 -------------------------------
end
attr_readerとはなんだろうかと思い調べてみました。
クラスに設定したインスタンス変数の値を、インスタンスから読み取って表示するためだけに定義するメソッドをゲッター
といい、attr_reader
を用いてこれに代えることができるとのこと。
なお、ここでは登場しないが、あるインスタンスが持つインスタンス変数の値を更新するためだけのメソッドのことをセッター
といい、これはattr_writer
で記述することができる。
さらには、attr_accessor
は両者を兼ねる。
rubocop実行前後を見比べると勉強になります。