Class: RedshiftConnector::DataFile
- Inherits:
-
Object
- Object
- RedshiftConnector::DataFile
- Defined in:
- lib/redshift_connector/data_file.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#data_object? ⇒ Boolean
abstract open.
- #each_row(&block) ⇒ Object
- #gzipped_object? ⇒ Boolean
-
#initialize(reader_class:) ⇒ DataFile
constructor
A new instance of DataFile.
Constructor Details
#initialize(reader_class:) ⇒ DataFile
Returns a new instance of DataFile.
6 7 8 |
# File 'lib/redshift_connector/data_file.rb', line 6 def initialize(reader_class:) @reader_class = reader_class end |
Instance Method Details
#data_object? ⇒ Boolean
abstract open
24 25 26 |
# File 'lib/redshift_connector/data_file.rb', line 24 def data_object? @reader_class.data_object?(key) end |
#each_row(&block) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/redshift_connector/data_file.rb', line 10 def each_row(&block) f = open begin if gzipped_object? f = Zlib::GzipReader.new(f) end @reader_class.new(f).each(&block) ensure f.close end end |
#gzipped_object? ⇒ Boolean
28 29 30 |
# File 'lib/redshift_connector/data_file.rb', line 28 def gzipped_object? File.extname(key) == '.gz' end |