Class: DataFile::Importer
- Inherits:
-
Object
- Object
- DataFile::Importer
- Defined in:
- lib/data_file/importer.rb
Instance Attribute Summary collapse
-
#reader ⇒ Object
readonly
Returns the value of attribute reader.
Instance Method Summary collapse
- #csv? ⇒ Boolean
- #each(&block) ⇒ Object
- #each_row(row) ⇒ Object
-
#initialize(reader) ⇒ Importer
constructor
A new instance of Importer.
- #rows ⇒ Object
Constructor Details
#initialize(reader) ⇒ Importer
Returns a new instance of Importer.
5 6 7 |
# File 'lib/data_file/importer.rb', line 5 def initialize(reader) @reader = reader end |
Instance Attribute Details
#reader ⇒ Object (readonly)
Returns the value of attribute reader.
3 4 5 |
# File 'lib/data_file/importer.rb', line 3 def reader @reader end |
Instance Method Details
#csv? ⇒ Boolean
29 30 31 |
# File 'lib/data_file/importer.rb', line 29 def csv? reader.parser.is_a?(Reader::CSV) end |
#each(&block) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/data_file/importer.rb', line 20 def each(&block) rows.each do |row| row = each_row(row) if !row.all?(&:blank?) && row != reader.parser.headers block.call(row) end end end |
#each_row(row) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/data_file/importer.rb', line 9 def each_row(row) return row if csv? row = reader.parser.rows[row] defined?(POI) ? row.cells.map(&:value) : row.to_a end |
#rows ⇒ Object
16 17 18 |
# File 'lib/data_file/importer.rb', line 16 def rows @rows ||= csv? ? reader.parser.rows : reader.parser.rows_range.to_a end |