class FluentQuery::Drivers::Shared::Tokens::SQL::Insert
Generic SQL
query INSERT token.
Public Instance Methods
render!(mode = nil)
click to toggle source
Renders this token.
# File lib/fluent-query/drivers/shared/tokens/sql/insert.rb, line 24 def render!(mode = nil) processor = @_query.processor result = "INSERT INTO " @_subtokens.each do |token| arguments = token.arguments # INSERT token if token.name == :insert values = arguments.second.values # Checks for arguments if (not arguments.first.symbol?) or (not arguments.second.hash?) raise FluentQuery::Drivers::Exception::new("Symbol and Hash arguments expected for #insert method.") end # Process table = processor.quote_identifier(arguments.first) fields = processor.process_identifiers(arguments.second.keys) if mode == :prepare values = values.map do |item| if item != ?? processor.quote_value(i) else item end end values = values.join(', ') else values = processor.process_array(values) end result << table << " (" << fields << ") VALUES (" << values << ")" # Unknown tokens renders directly else result = self.unknown_token::new(@_driver, @_query, token).render! end end return result end