Class: ActiveRecord::StatementCache::PartialQuery

Inherits:
Query
  • Object
show all
Defined in:
lib/active_record/statement_cache.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ PartialQuery

Returns a new instance of PartialQuery.


42
43
44
45
46
47
# File 'lib/active_record/statement_cache.rb', line 42

def initialize(values)
  @values = values
  @indexes = values.each_with_index.find_all { |thing, i|
    Arel::Nodes::BindParam === thing
  }.map(&:last)
end

Instance Method Details

#sql_for(binds, connection) ⇒ Object


49
50
51
52
53
54
# File 'lib/active_record/statement_cache.rb', line 49

def sql_for(binds, connection)
  val = @values.dup
  casted_binds = binds.map(&:value_for_database)
  @indexes.each { |i| val[i] = connection.quote(casted_binds.shift) }
  val.join
end