Class: RedshiftCsv::Output
- Inherits:
-
Object
- Object
- RedshiftCsv::Output
- Defined in:
- lib/redshift_csv/output.rb
Instance Attribute Summary collapse
-
#file_path ⇒ Object
readonly
Returns the value of attribute file_path.
-
#query ⇒ Object
readonly
Returns the value of attribute query.
Instance Method Summary collapse
- #generate_csv ⇒ Object
- #header ⇒ Object
-
#initialize(query, file_path) ⇒ Output
constructor
A new instance of Output.
- #query_results ⇒ Object
- #results? ⇒ Boolean
Constructor Details
#initialize(query, file_path) ⇒ Output
Returns a new instance of Output.
5 6 7 8 |
# File 'lib/redshift_csv/output.rb', line 5 def initialize(query, file_path) @query = query @file_path = file_path end |
Instance Attribute Details
#file_path ⇒ Object (readonly)
Returns the value of attribute file_path.
3 4 5 |
# File 'lib/redshift_csv/output.rb', line 3 def file_path @file_path end |
#query ⇒ Object (readonly)
Returns the value of attribute query.
3 4 5 |
# File 'lib/redshift_csv/output.rb', line 3 def query @query end |
Instance Method Details
#generate_csv ⇒ Object
22 23 24 25 26 27 28 29 30 |
# 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 ⇒ Object
14 15 16 |
# File 'lib/redshift_csv/output.rb', line 14 def header results? ? query_results.first.keys : [] end |
#query_results ⇒ Object
10 11 12 |
# File 'lib/redshift_csv/output.rb', line 10 def query_results @query_results ||= Connection.new.run(query) end |
#results? ⇒ Boolean
18 19 20 |
# File 'lib/redshift_csv/output.rb', line 18 def results? query_results.ntuples > 0 end |