instance method
replace_named_bind_variables
Ruby on Rails 7.2.3
Since v5.2.8.1 PrivateSignature
replace_named_bind_variables(connection, statement, bind_vars)
No documentation comment.
Parameters
-
connectionreq -
statementreq -
bind_varsreq
Source
# File activerecord/lib/active_record/sanitization.rb, line 218
def replace_named_bind_variables(connection, statement, bind_vars)
statement.gsub(/([:\\]?):([a-zA-Z]\w*)/) do |match|
if $1 == ":" # skip PostgreSQL casts
match # return the whole match
elsif $1 == "\\" # escaped literal colon
match[1..-1] # return match with escaping backlash char removed
elsif bind_vars.include?(match = $2.to_sym)
replace_bind_variable(connection, bind_vars[match])
else
raise PreparedStatementInvalid, "missing value for :#{match} in #{statement}"
end
end
end
Defined in activerecord/lib/active_record/sanitization.rb line 218
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Sanitization::ClassMethods