Class: Jcsv::CMR

Inherits:
Object
  • Object
show all
Includes:
Processors
Defined in:
lib/supercsv_interface.rb

Overview

class CMR (CSV Map Reader) wraps class CsvMapReader

Instance Attribute Summary

Attributes included from Processors

#dimensions, #key_array

Instance Method Summary collapse

Methods included from Processors

#executeProcessors, #headers

Constructor Details

#initialize(filereader, preferences, dimensions = nil, suppress_warnings) ⇒ CMR





192
193
194
195
196
# File 'lib/supercsv_interface.rb', line 192

def initialize(filereader, preferences, dimensions = nil, suppress_warnings)
  @dimensions = dimensions
  @suppress_warnings = suppress_warnings
  super(filereader, preferences)
end

Instance Method Details

#filter_input(name_mapping, processors) ⇒ Object





218
219
220
221
222
223
224
225
226
# File 'lib/supercsv_interface.rb', line 218

def filter_input(name_mapping, processors)
  
  if (readRow())
    processed_columns = executeProcessors(processors)
    processed_columns[:key] = @key_array if dimensions
    return processed_columns
  end
  
end

#read(column_mapping, filters) ⇒ Object





202
203
204
205
206
207
208
209
210
211
212
# File 'lib/supercsv_interface.rb', line 202

def read(column_mapping, filters)

  # initialize @processed_columns to a new Hash.  This will be used by method
  # executeProcessor from module Processors
  @processed_columns = Hash.new
  @column_mapping = column_mapping

  (filters == false)? super(*column_mapping.mapping) :
    filter_input(column_mapping, filters.values.to_java(CellProcessor))
  
end