public
Rubygem
Description: include Enumerable
Homepage: http://defunkt.github.com/ambition
Clone URL: git://github.com/defunkt/ambition.git
add #nil? to the activerecord adapter
defunkt (author)
Sat Feb 16 03:29:03 -0800 2008
commit  f95a94fce0cde528ea7adb26d9906d4976a21aad
tree    a9de9527524ee2232768ee372a9dbb5474641d75
parent  a8d2cdf409d42c3cf55889a1751b6d8d1c608568
...
81
82
83
 
 
 
 
 
84
85
86
...
81
82
83
84
85
86
87
88
89
90
91
0
@@ -81,6 +81,11 @@ module Ambition
0
           "#{right} IN (#{left})"
0
         end
0
 
0
+        def nil?(column)
0
+          left = "#{owner.table_name}.#{quote_column_name column}"
0
+          @negated ? not_equal(left, nil) : self.==(left, nil)
0
+        end
0
+
0
         def downcase(column)
0
           "LOWER(#{owner.table_name}.#{quote_column_name column})"
0
         end
...
52
53
54
 
 
 
 
 
 
 
 
 
 
55
56
57
...
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
0
@@ -52,6 +52,16 @@ context "Different types" do
0
     sql.should == "SELECT * FROM users WHERE users.name IS NOT NULL"
0
   end
0
 
0
+  specify "nil?" do
0
+    sql = User.select { |m| m.name.nil? }.to_s
0
+    sql.should == "SELECT * FROM users WHERE users.name IS NULL"
0
+  end
0
+
0
+  specify "!nil?" do
0
+    sql = User.select { |m| !m.name.nil? }.to_s
0
+    sql.should == "SELECT * FROM users WHERE users.name IS NOT NULL"
0
+  end
0
+
0
   specify "Time" do
0
     sql = User.select { |m| m.name == Time.now }.to_s
0
     sql.should == "SELECT * FROM users WHERE users.name = '#{Time.now.to_s(:db)}'"

Comments