Class: MapFields::MappedFields
- Inherits:
-
Object
- Object
- MapFields::MappedFields
- Defined in:
- lib/map_fields.rb
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(file, mapping, ignore_first_row) ⇒ MappedFields
constructor
A new instance of MappedFields.
Constructor Details
#initialize(file, mapping, ignore_first_row) ⇒ MappedFields
Returns a new instance of MappedFields.
92 93 94 95 96 97 98 99 |
# File 'lib/map_fields.rb', line 92 def initialize(file, mapping, ignore_first_row) @file = file @mapping = {} @ignore_first_row = ignore_first_row mapping.each do |k,v| @mapping[v.to_i - 1] = k.to_i - 1 unless v.to_i == 0 end end |
Instance Method Details
#each ⇒ Object
101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/map_fields.rb', line 101 def each row_number = 1 FasterCSV.foreach(@file) do |csv_row| unless row_number == 1 && @ignore_first_row row = [] @mapping.each do |k,v| row[k] = csv_row[v] end row.class.send(:define_method, :number) { row_number } yield(row) end row_number += 1 end end |