diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2010-09-14 15:20:24 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-09-14 15:20:24 -0700 |
commit | 188fc7a46456bd3e5ebdb09ef8a753d7a34a6af5 (patch) | |
tree | 1b6d91afb960704ef79d5e06720c76a2982c9470 /lib/arel/expressions.rb | |
parent | 5d11fa9f6a850ac4374a01e402740ca8a7b50f32 (diff) | |
download | rails-188fc7a46456bd3e5ebdb09ef8a753d7a34a6af5.tar.gz rails-188fc7a46456bd3e5ebdb09ef8a753d7a34a6af5.tar.bz2 rails-188fc7a46456bd3e5ebdb09ef8a753d7a34a6af5.zip |
refactoring expressions to a module
Diffstat (limited to 'lib/arel/expressions.rb')
-rw-r--r-- | lib/arel/expressions.rb | 23 |
1 files changed, 23 insertions, 0 deletions
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 |