class Decidim::TermCustomizer::Import::Readers::Base
Imports an exported file to data arrays that can be processed during yields.
Attributes
file[R]
Public Class Methods
new(file)
click to toggle source
# File lib/decidim/term_customizer/import/readers/base.rb, line 10 def initialize(file) @file = file end
Public Instance Methods
read_rows()
click to toggle source
The read_rows
method should iterate over each row of the data and yield the data array of each row with the row's index. For example, this could look like following:
Parser.read(file).rows.each_with_index do |row, index| yield row.to_a, index end
The first row yielded with index 0 needs to contain the data headers which can be later used to map the data to correct attributes.
This needs to be implemented by the extending classes.
# File lib/decidim/term_customizer/import/readers/base.rb, line 25 def read_rows raise NotImplementedError end