Class: ActiveRecord::StatementCache::PartialQuery

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

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ PartialQuery

Returns a new instance of PartialQuery.



44
45
46
47
48
49
# File 'activerecord/lib/active_record/statement_cache.rb', line 44

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

Instance Method Details

#sql_for(binds, connection) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
# File 'activerecord/lib/active_record/statement_cache.rb', line 51

def sql_for(binds, connection)
  val = @values.dup
  @indexes.each do |i|
    value = binds.shift
    if ActiveModel::Attribute === value
      value = value.value_for_database
    end
    val[i] = connection.quote(value)
  end
  val.join
end