diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/arel/attributes/attribute.rb | 4 | ||||
-rw-r--r-- | lib/arel/nodes.rb | 1 | ||||
-rw-r--r-- | lib/arel/nodes/greater_than_or_equal.rb | 6 | ||||
-rw-r--r-- | lib/arel/visitors/to_sql.rb | 4 |
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 |