class RedshiftCsv::Output

Attributes

file_path[R]
query[R]

Public Class Methods

new(query, file_path) click to toggle source
# File lib/redshift_csv/output.rb, line 5
def initialize(query, file_path)
  @query = query
  @file_path = file_path
end

Public Instance Methods

generate_csv() click to toggle source
# File lib/redshift_csv/output.rb, line 22
def generate_csv
  CSV.open(file_path, "wb") do |csv|
    csv << header

    query_results.each do |result|
      csv << result.values
    end
  end
end
header() click to toggle source
# File lib/redshift_csv/output.rb, line 14
def header
  results? ? query_results.first.keys : []
end
query_results() click to toggle source
# File lib/redshift_csv/output.rb, line 10
def query_results
  @query_results ||= Connection.new.run(query)
end
results?() click to toggle source
# File lib/redshift_csv/output.rb, line 18
def results?
  query_results.ntuples > 0
end