instance method build_bound_sql_literal

Ruby on Rails 7.2.3

Since v7.2.3 Private

Available in: v7.2.3 v8.0.4 v8.1.2

Signature

build_bound_sql_literal(statement, values)

No documentation comment.

Parameters

statement req
values req
Source
# File activerecord/lib/active_record/relation/query_methods.rb, line 1686
      def build_bound_sql_literal(statement, values)
        bound_values = values.map do |value|
          if ActiveRecord::Relation === value
            Arel.sql(value.to_sql)
          elsif value.respond_to?(:map) && !value.acts_like?(:string)
            values = value.map { |v| v.respond_to?(:id_for_database) ? v.id_for_database : v }
            values.empty? ? nil : values
          else
            value = value.id_for_database if value.respond_to?(:id_for_database)
            value
          end
        end

        begin
          Arel::Nodes::BoundSqlLiteral.new("(#{statement})", bound_values, nil)
        rescue Arel::BindError => error
          raise ActiveRecord::PreparedStatementInvalid, error.message
        end
      end

Defined in activerecord/lib/active_record/relation/query_methods.rb line 1686 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::QueryMethods

Type at least 2 characters to search.

↑↓ navigate · open · esc close