Class: Cascade::DataParser

Inherits:
Object
  • Object
show all
Defined in:
lib/cascade/data_parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ DataParser

Returns a new instance of DataParser.



8
9
10
11
12
13
# File 'lib/cascade/data_parser.rb', line 8

def initialize(options = {})
  @data_provider  = options.fetch(:data_provider) { Registry.data_provider }
  @row_processor  = options.fetch(:row_processor) { Registry.row_processor }
  @error_handler  = options.fetch(:error_handler) { Registry.error_handler }
  @data_saver     = options.fetch(:data_saver)    { Registry.data_saver }
end

Instance Method Details

#callObject

Starts parsing processing with opening file and iterating through each line with parsing and then saves result of each line parsing with DataSaver



19
20
21
22
23
24
25
# File 'lib/cascade/data_parser.rb', line 19

def call
  @data_provider.each_with_index do |row, row_number|
    @error_handler.with_errors_handling(row) do
      @data_saver.call @row_processor.call(row), row_number
    end
  end
end