instance method build_with_expression_from_value

Ruby on Rails 7.2.3

Since v7.2.3 Private

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

Signature

build_with_expression_from_value(value, nested = false)

No documentation comment.

Parameters

value req
nested opt = false
Source
# File activerecord/lib/active_record/relation/query_methods.rb, line 1913
      def build_with_expression_from_value(value, nested = false)
        case value
        when Arel::Nodes::SqlLiteral then Arel::Nodes::Grouping.new(value)
        when ActiveRecord::Relation
          if nested
            value.arel.ast
          else
            value.arel
          end
        when Arel::SelectManager then value
        when Array
          return build_with_expression_from_value(value.first, false) if value.size == 1

          parts = value.map do |query|
            build_with_expression_from_value(query, true)
          end

          parts.reduce do |result, value|
            Arel::Nodes::UnionAll.new(result, value)
          end
        else
          raise ArgumentError, "Unsupported argument type: `#{value}` #{value.class}"
        end
      end

Defined in activerecord/lib/active_record/relation/query_methods.rb line 1913 · 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