csv ファイルを読み取るコードをリファクタリングしようとしています。ファイルの各行の最初の文字は、レコードのタイプ ( H
= ヘッダー、I
= 情報、およびD
= データ) を示します。各レコード タイプには固定の異なる数のフィールドがあります。私のプログラムは FasterCSV を使用してファイルから行を読み取り、case ステートメントを使用して行の処理方法を決定します。
record_type = new_record[:record_type]
case record_type
when "H"
factory_build_H_record(new_record)
when "I"
factory_build_I_record(new_record)
when "D"
factory_build_e_record(new_record)
end
リファクタリングについては、OO プログラミングでの case ステートメントの使用に関するSandi Metz のブログ投稿に従い、case ステートメントを削除しようとしています。私の傾向としては、3 つのレコード タイプを表すいくつかのクラスを作成し、process_record
. クラスを作成する方法がわかりません。どんな助けでも大歓迎です。