Class: MultiInsert::Query
- Inherits:
-
Object
- Object
- MultiInsert::Query
- Defined in:
- lib/multi_insert/query.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(table, columns, values, opts = {}) ⇒ Query
constructor
A new instance of Query.
- #returning(columns) ⇒ Object
- #returning_id ⇒ Object
- #to_s ⇒ Object
- #to_sql ⇒ Object
Constructor Details
#initialize(table, columns, values, opts = {}) ⇒ Query
Returns a new instance of Query.
6 7 8 9 |
# File 'lib/multi_insert/query.rb', line 6 def initialize(table, columns, values, opts = {}) @table = table.to_sym @sql_insert = ::MultiInsert::QueryBuilder.insert(table, columns, values, opts = {}) end |
Instance Method Details
#execute ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/multi_insert/query.rb', line 33 def execute result = ActiveRecord::Base.connection.execute(to_sql) if @sql_returning.nil? nil else if @returning_flat result.rows.map{|r| r.first} else result end end end |
#returning(columns) ⇒ Object
11 12 13 14 15 |
# File 'lib/multi_insert/query.rb', line 11 def returning(columns) @sql_returning = ::MultiInsert::QueryBuilder.returning(columns) @returning_flat = false self end |
#returning_id ⇒ Object
17 18 19 20 21 |
# File 'lib/multi_insert/query.rb', line 17 def returning_id @sql_returning = ::MultiInsert::QueryBuilder.returning([:id]) @returning_flat = true self end |
#to_s ⇒ Object
29 30 31 |
# File 'lib/multi_insert/query.rb', line 29 def to_s to_sql end |
#to_sql ⇒ Object
23 24 25 26 27 |
# File 'lib/multi_insert/query.rb', line 23 def to_sql sql = @sql_insert sql = "#{sql} #{@sql_returning}" unless @sql_returning.nil? sql end |