aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/arel/factory_methods.rb6
-rw-r--r--test/test_factory_methods.rb7
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/arel/factory_methods.rb b/lib/arel/factory_methods.rb
index 2ced1f8971..9fd0878ada 100644
--- a/lib/arel/factory_methods.rb
+++ b/lib/arel/factory_methods.rb
@@ -25,5 +25,11 @@ module Arel
def grouping expr
Nodes::Grouping.new expr
end
+
+ ###
+ # Create a LOWER() function
+ def lower column
+ Nodes::NamedFunction.new 'LOWER', [column]
+ end
end
end
diff --git a/test/test_factory_methods.rb b/test/test_factory_methods.rb
index 6506d3c472..50f77c3175 100644
--- a/test/test_factory_methods.rb
+++ b/test/test_factory_methods.rb
@@ -22,6 +22,13 @@ module Arel
assert_instance_of Nodes::On, on
assert_equal :one, on.expr
end
+
+ def test_lower
+ lower = @factory.lower :one
+ assert_instance_of Nodes::NamedFunction, lower
+ assert_equal 'LOWER', lower.name
+ assert_equal [:one], lower.expressions
+ end
end
end
end