def build_row!(row)
      row = @row_klass.call(row)

      # Convert values
      @type_map.each do |column, type|
        row[column] = @converter.call(row[column], type)
      end

      return row unless @builder

      @builder.call(row)
    end
def build_row!(row)
      row = @row_klass.call(row)

      # Convert values
      @type_map.each do |column, type|
        row[column] = @converter.call(row[column], type)
      end

      return row unless @builder

      @builder.call(row)
    end
Returns Struct
 @return [Row, Object] a new instance of built row.
 @param row [Array] the row array.
 @raise [ArgumentError] raised when struct fails to build
 @example Build new row
     r = RowBuilder.new([:id])
     r.build(['1']).id #=> '1'