Module: Csvsql
- Defined in:
- lib/csvsql.rb,
lib/csvsql/version.rb
Defined Under Namespace
Constant Summary collapse
- VERSION =
"0.1.3"
Class Method Summary collapse
Class Method Details
.execute(sql, csv_data, opts = {}) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/csvsql.rb', line 12 def self.execute(sql, csv_data, opts = {}) csvdb = Csvsql::Db.new(opts) csvdb.import(csv_data) pst = Csvsql::Tracker.commit(:execute_query_sql) do csvdb.prepare(sql) end Csvsql::Tracker.commit(:output_format) CSV.generate do |csv| csv << pst.columns.zip(pst.types).map { |c| c.compact.join(':') } pst.each { |line| csv << line } end.tap { Csvsql::Tracker.commit(:output_format) } end |