CSVパースの際、時刻や数値をコンバートできる…というネタを扱いました。
なんと、このコンバータは自前で生成できます。
パラメータはProcクラスで定義されています。
converter = ->(field, field_info) { return field.upcase rescue field if field_info.index == 1 return field }
ためしにやってみると…
CSV.parse %(foo, bar, buzz), converters: converter #=> [["foo", " BAR", " buzz"]]
と、ちゃんと指定カラムが変更されている事が確認できます。
一応、ダメパターンも確認すると…
CSV.parse %(foo, 2, buzz), converters: converter #=> [["foo", " 2", " buzz"]]