class CSVUtils::CSVReport
Attributes
csv[R]
must_close[R]
Public Class Methods
new(csv, headers = nil, csv_options = {}, &block)
click to toggle source
# File lib/csv_utils/csv_report.rb, line 7 def initialize(csv, headers = nil, csv_options = {}, &block) @csv = if csv.is_a?(String) @must_close = true mode = csv_options.delete(:mode) || 'wb' CSV.open(csv, mode, **csv_options) else @must_close = false csv end add_headers(headers) if headers generate(&block) if block end
Public Instance Methods
add_headers(csv_row)
click to toggle source
# File lib/csv_utils/csv_report.rb, line 38 def add_headers(csv_row) append(csv_row.is_a?(Array) ? csv_row : csv_row.csv_headers) end
append(csv_row)
click to toggle source
# File lib/csv_utils/csv_report.rb, line 28 def append(csv_row) @csv << if csv_row.is_a?(Array) csv_row else csv_row.to_a end end
Also aliased as: <<
close()
click to toggle source
# File lib/csv_utils/csv_report.rb, line 42 def close @csv.close end
generate() { |self| ... }
click to toggle source
# File lib/csv_utils/csv_report.rb, line 23 def generate yield self close if @must_close end