class Society::Formatter::Report::CSV

Attributes

csv_data[R]
output_path[R]

Public Class Methods

new(csv_data:, output_path: nil) click to toggle source
# File lib/society/formatter/report/csv.rb, line 8
def initialize(csv_data:, output_path: nil)
  @csv_data = csv_data
  @output_path = output_path
end

Public Instance Methods

write() click to toggle source
# File lib/society/formatter/report/csv.rb, line 13
def write
  if output_path
    prepare_output_directory
    write_csv_data
  else
    puts csv_data
  end
end

Private Instance Methods

prepare_output_directory() click to toggle source
# File lib/society/formatter/report/csv.rb, line 28
def prepare_output_directory
  raise "No output path was specified" if output_path.nil?
  directory_path = File.split(output_path).first
  FileUtils.mkpath directory_path
end
timestamp() click to toggle source
# File lib/society/formatter/report/csv.rb, line 24
def timestamp
  @timestamp ||= Time.now.strftime("%Y_%m_%d_%H_%M_%S")
end
write_csv_data() click to toggle source
# File lib/society/formatter/report/csv.rb, line 34
def write_csv_data
  File.open(output_path, 'w') { |file| file.write csv_data }
end