aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/arel/attributes/attribute.rb4
-rw-r--r--lib/arel/nodes.rb1
-rw-r--r--lib/arel/nodes/greater_than_or_equal.rb6
-rw-r--r--lib/arel/visitors/to_sql.rb4
4 files changed, 15 insertions, 0 deletions
diff --git a/lib/arel/attributes/attribute.rb b/lib/arel/attributes/attribute.rb
index bd47aa12fd..62bef5f1cf 100644
--- a/lib/arel/attributes/attribute.rb
+++ b/lib/arel/attributes/attribute.rb
@@ -24,6 +24,10 @@ module Arel
def average
Nodes::Avg.new [self], Nodes::SqlLiteral.new('avg_id')
end
+
+ def gteq right
+ Nodes::GreaterThanOrEqual.new self, right
+ end
end
class String < Attribute; end
diff --git a/lib/arel/nodes.rb b/lib/arel/nodes.rb
index 89e28f138c..6a6c6ece77 100644
--- a/lib/arel/nodes.rb
+++ b/lib/arel/nodes.rb
@@ -2,6 +2,7 @@ require 'arel/nodes/binary'
require 'arel/nodes/equality'
require 'arel/nodes/or'
require 'arel/nodes/and'
+require 'arel/nodes/greater_than_or_equal'
require 'arel/nodes/in'
require 'arel/nodes/lock'
diff --git a/lib/arel/nodes/greater_than_or_equal.rb b/lib/arel/nodes/greater_than_or_equal.rb
new file mode 100644
index 0000000000..a8cfaab04e
--- /dev/null
+++ b/lib/arel/nodes/greater_than_or_equal.rb
@@ -0,0 +1,6 @@
+module Arel
+ module Nodes
+ class GreaterThanOrEqual < Arel::Nodes::Binary
+ end
+ end
+end
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index dc3dbc14c0..2b34fb63dc 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -109,6 +109,10 @@ module Arel
"#{visit o.relation} #{quote_table_name o.name}"
end
+ def visit_Arel_Nodes_GreaterThanOrEqual o
+ "#{visit o.left} >= #{visit o.right}"
+ end
+
def visit_Arel_Nodes_StringJoin o
"#{visit o.left} #{visit o.right}"
end