Class: SQLTree::Node::InsertQuery
- Defined in:
- lib/active_record/turntable/sql_tree_patch.rb
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Base
Class Method Details
.parse_value_list(tokens) ⇒ Object
335 336 337 338 339 340 341 342 343 344 345 346 347 348 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 335 def self.parse_value_list(tokens) values = [] tokens.consume(SQLTree::Token::VALUES) tokens.consume(SQLTree::Token::LPAREN) values << parse_list(tokens) tokens.consume(SQLTree::Token::RPAREN) while SQLTree::Token::COMMA === tokens.peek tokens.consume(SQLTree::Token::COMMA) tokens.consume(SQLTree::Token::LPAREN) values << parse_list(tokens) tokens.consume(SQLTree::Token::RPAREN) end return values end |
Instance Method Details
#to_sql(options = { }) ⇒ Object
325 326 327 328 329 330 331 332 333 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 325 def to_sql( = { }) sql = "INSERT INTO #{ table.to_sql()} " sql << '(' + fields.map { |f| f.to_sql() }.join(', ') + ') ' if fields sql << 'VALUES' sql << values.map do |value| ' (' + value.map { |v| v.to_sql() }.join(', ') + ')' end.join(',') sql end |