Flowdock
method

interpolate_and_sanitize_sql

Importance_0
v3.0.5 - Show latest stable - 0 notes - Class: ActiveRecord::Base
  • 1.0.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5 (0)
  • 3.0.9 (0)
  • 3.1.0
  • 3.2.1
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.2
  • 4.1.8
  • 4.2.1
  • What's this?
interpolate_and_sanitize_sql(sql, record = nil, sanitize_klass = self.class) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/base.rb, line 1735
      def interpolate_and_sanitize_sql(sql, record = nil, sanitize_klass = self.class)
        sanitized = sanitize_klass.send(:sanitize_sql, sql)

        if sanitized =~ /\#\{.*\}/
          ActiveSupport::Deprecation.warn(
            'String-based interpolation of association conditions is deprecated. Please use a ' \
            'proc instead. So, for example, has_many :older_friends, :conditions => \'age > #{age}\' ' \
            'should be changed to has_many :older_friends, :conditions => proc { "age > #{age}" }.'
          )
          instance_eval("%@#{sanitized.gsub('@', '\@')}@", __FILE__, __LINE__)
        elsif sql.respond_to?(:to_proc)
          sanitize_klass.send(:sanitize_sql, instance_exec(record, &sql))
        else
          sanitized
        end
      end
Register or log in to add new notes.