コードをリファクタリングする方法を考える必要があります:
attr_accessor :product
attr_reader :name, :mark
def name=(value)
super unless product.present?
end
def mark=(value)
super unless product.present?
end
... and a whole bunch of method of sorts.
アイデアは単純です - 製品が既に設定されている場合、値の割り当てを拒否します。しかし、上記のコードはまったく DRY ではありません。
何か案は?