From 5cf36e2ea2242ea6ea0cf879adf9febd86fd3aa2 Mon Sep 17 00:00:00 2001 From: Kevin Deisz Date: Thu, 24 Jan 2019 14:35:52 -0500 Subject: Make `And` and `Case` into expression nodes Allows aliasing, predications, ordering, and various other functions on `And` and `Case` nodes. This brings them in line with other nodes like `Binary` and `Unary`. --- activerecord/lib/arel/nodes/and.rb | 2 +- activerecord/lib/arel/nodes/case.rb | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'activerecord/lib/arel') diff --git a/activerecord/lib/arel/nodes/and.rb b/activerecord/lib/arel/nodes/and.rb index c530a77bfb..bf516db35f 100644 --- a/activerecord/lib/arel/nodes/and.rb +++ b/activerecord/lib/arel/nodes/and.rb @@ -2,7 +2,7 @@ module Arel # :nodoc: all module Nodes - class And < Arel::Nodes::Node + class And < Arel::Nodes::NodeExpression attr_reader :children def initialize(children) diff --git a/activerecord/lib/arel/nodes/case.rb b/activerecord/lib/arel/nodes/case.rb index b8f83128c8..1c4b727bf6 100644 --- a/activerecord/lib/arel/nodes/case.rb +++ b/activerecord/lib/arel/nodes/case.rb @@ -2,9 +2,7 @@ module Arel # :nodoc: all module Nodes - class Case < Arel::Nodes::Node - include Arel::AliasPredication - + class Case < Arel::Nodes::NodeExpression attr_accessor :case, :conditions, :default def initialize(expression = nil, default = nil) -- cgit v1.2.3