From 00d1482fefa1cf9c3753b58f4fe9b580c52ae935 Mon Sep 17 00:00:00 2001 From: Samuel Kadolph Date: Fri, 27 May 2011 17:21:40 -0400 Subject: Include Arel::Predicates to Arel::Nodes::Function so you can do table[:id].count.eq(2) --- lib/arel/nodes/function.rb | 1 + lib/arel/nodes/named_function.rb | 2 -- test/nodes/test_count.rb | 9 +++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/arel/nodes/function.rb b/lib/arel/nodes/function.rb index 85347fc028..b6f6644678 100644 --- a/lib/arel/nodes/function.rb +++ b/lib/arel/nodes/function.rb @@ -2,6 +2,7 @@ module Arel module Nodes class Function < Arel::Nodes::Node include Arel::Expression + include Arel::Predications attr_accessor :expressions, :alias, :distinct def initialize expr, aliaz = nil diff --git a/lib/arel/nodes/named_function.rb b/lib/arel/nodes/named_function.rb index 5fca33e323..56669bf858 100644 --- a/lib/arel/nodes/named_function.rb +++ b/lib/arel/nodes/named_function.rb @@ -3,8 +3,6 @@ module Arel class NamedFunction < Arel::Nodes::Function attr_accessor :name - include Arel::Predications - def initialize name, expr, aliaz = nil super(expr, aliaz) @name = name diff --git a/test/nodes/test_count.rb b/test/nodes/test_count.rb index afa423e8f5..be53b86855 100644 --- a/test/nodes/test_count.rb +++ b/test/nodes/test_count.rb @@ -15,4 +15,13 @@ describe Arel::Nodes::Count do } end end + + describe "eq" do + it "should compare the count" do + table = Arel::Table.new :users + table[:id].count.eq(2).to_sql.must_be_like %{ + COUNT("users"."id") = 2 + } + end + end end -- cgit v1.2.3