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.



6
7
8
9
10
11
# File 'lib/cascade/data_parser.rb', line 6

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



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

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