Class: Cure::Export::CsvProcessor
- Inherits:
-
BaseProcessor
- Object
- BaseProcessor
- Cure::Export::CsvProcessor
- Includes:
- Helpers::FileHelpers
- Defined in:
- lib/cure/export/base_processor.rb
Instance Attribute Summary collapse
-
#csv_file ⇒ Object
readonly
Returns the value of attribute csv_file.
Attributes inherited from BaseProcessor
Instance Method Summary collapse
Methods included from Helpers::FileHelpers
#clean_dir, #open_file, #read_file, #with_file, #with_temp_dir
Methods inherited from BaseProcessor
Methods included from Log
#log_debug, #log_error, #log_info, #log_trace, #log_warn
Constructor Details
This class inherits a constructor from Cure::Export::BaseProcessor
Instance Attribute Details
#csv_file ⇒ Object (readonly)
Returns the value of attribute csv_file.
76 77 78 |
# File 'lib/cure/export/base_processor.rb', line 76 def csv_file @csv_file end |
Instance Method Details
#cleanup ⇒ Object
104 105 106 107 108 |
# File 'lib/cure/export/base_processor.rb', line 104 def cleanup ensure log_info File.basename(@csv_file) @csv_file.close end |
#process(row) ⇒ Object
78 79 80 81 |
# File 'lib/cure/export/base_processor.rb', line 78 def process(row) @csv_file.write(row.keys.to_csv) if @processed.zero? @csv_file.write(row.values.to_csv) end |
#setup ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/cure/export/base_processor.rb', line 83 def setup log_info "Exporting [#{@named_range}] to CSV..." output_dir = @opts[:directory] file_name = @opts[:file_name] log_info("Exporting file to [#{output_dir}/#{file_name}]") # file_name = "#{file_name}-#{Time.now.utc.strftime("%Y-%m-%dT%H:%M:%S%-z")}" path = "#{output_dir}/#{file_name}" # clean_dir(output_dir) dir = File.dirname(path) FileUtils.mkdir_p(dir) unless File.directory?(dir) path = "#{path}.csv" @csv_file = File.open(path, "w") @processed = 0 end |