diff options
Diffstat (limited to 'lib/arel')
-rw-r--r-- | lib/arel/attributes/attribute.rb | 22 | ||||
-rw-r--r-- | lib/arel/expressions.rb | 23 | ||||
-rw-r--r-- | lib/arel/nodes/sql_literal.rb | 12 |
3 files changed, 26 insertions, 31 deletions
diff --git a/lib/arel/attributes/attribute.rb b/lib/arel/attributes/attribute.rb index 34c1f45ba6..28493d5cba 100644 --- a/lib/arel/attributes/attribute.rb +++ b/lib/arel/attributes/attribute.rb @@ -1,6 +1,8 @@ module Arel module Attributes class Attribute < Struct.new :relation, :name, :column + include Arel::Expressions + def not_eq other Nodes::NotEqual.new self, other end @@ -13,26 +15,6 @@ module Arel Nodes::In.new self, other end - def count distinct = false - Nodes::Count.new [self], distinct - end - - def sum - Nodes::Sum.new [self], Nodes::SqlLiteral.new('sum_id') - end - - def maximum - Nodes::Max.new [self], Nodes::SqlLiteral.new('max_id') - end - - def minimum - Nodes::Min.new [self], Nodes::SqlLiteral.new('min_id') - end - - def average - Nodes::Avg.new [self], Nodes::SqlLiteral.new('avg_id') - end - def gteq right Nodes::GreaterThanOrEqual.new self, right end diff --git a/lib/arel/expressions.rb b/lib/arel/expressions.rb new file mode 100644 index 0000000000..d1fbfd83d9 --- /dev/null +++ b/lib/arel/expressions.rb @@ -0,0 +1,23 @@ +module Arel + module Expressions + def count distinct = false + Nodes::Count.new [self], distinct + end + + def sum + Nodes::Sum.new [self], Nodes::SqlLiteral.new('sum_id') + end + + def maximum + Nodes::Max.new [self], Nodes::SqlLiteral.new('max_id') + end + + def minimum + Nodes::Min.new [self], Nodes::SqlLiteral.new('min_id') + end + + def average + Nodes::Avg.new [self], Nodes::SqlLiteral.new('avg_id') + end + end +end diff --git a/lib/arel/nodes/sql_literal.rb b/lib/arel/nodes/sql_literal.rb index 7299fb1d45..e5918620d9 100644 --- a/lib/arel/nodes/sql_literal.rb +++ b/lib/arel/nodes/sql_literal.rb @@ -1,17 +1,7 @@ module Arel module Nodes class SqlLiteral < String - def count distinct = false - Count.new [self], distinct - end - - def sum - Nodes::Sum.new [self], Nodes::SqlLiteral.new('sum_id') - end - - def maximum - Nodes::Max.new [self], Nodes::SqlLiteral.new('max_id') - end + include Arel::Expressions end end end |