aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/nodes/function.rb
Commit message (Collapse)AuthorAgeFilesLines
* Introduce NodeExpression as parent of scalar nodesKeenan Brock2017-12-051-3/+1
| | | | | SQL is very powerful. Many nodes can be used as a sub expression or query. grouping all of these possible nodes together
* Add missing hash, eql?, == to various node classesMaxime Lapointe2017-07-251-0/+2
| | | | | | | | | | | Some of the nodes classes are missing either one or many of the common comparison methods #hash, #eql? and #==. This makes comparision and working with the ast sometimes painful, as equality or operations likes array differences (which uses a hash behind the scene) produces unexpected results. A test has been added that ensures that every descendants of Node: * have all 3 methods * that all 3 methods were defined from the same class * that the class defining all 3 is also a descendant of Node, to avoid the default ones that rely on identity only
* Enable frozen_string_literal in all files in arelRafael Mendonça França2017-02-131-0/+1
|
* Add OrderPredications back into Nodes::Function (removed with deprecation of ↵Carson Reinke2015-07-231-0/+1
| | | | Expression)
* Remove deprecated Arel::ExpressionRafael Mendonça França2014-02-101-1/+0
|
* call super from initializeAaron Patterson2013-05-171-0/+1
|
* Add equality to ALL THE THINGS (that matter)Ernie Miller2012-08-181-0/+11
| | | | | | | | | | | | People are often trying to use ARel nodes inside ActiveRecord, and when they do so, lots of things can break, because ActiveRecord relies on Array#uniq and sometimes hash key equality to handle values that end up in wheres, havings, etc. By implementing equality for all the nodes, we should hopefully be able to prevent any nodes (even nodes containing other nodes) from failing an equality check they should otherwise pass, and alleviate many of these errors. Fixes #130
* Support ANSI SQL2003 window functions.Alexander Staubo2012-02-221-0/+1
|
* Include Arel::Predicates to Arel::Nodes::Function so you can do ↵Samuel Kadolph2011-05-271-0/+1
| | | | table[:id].count.eq(2)
* Stop calling to_s on aliases, require them to be strings already.Ernie Miller2011-04-291-2/+2
|
* Move #as to AliasPredication, stop overriding Function's #as.Ernie Miller2011-04-291-2/+2
|
* Added Arel::Nodes::NamedFunction for representing generic SQL functionsAaron Patterson2011-01-041-1/+2
|
* cleaning up more nodesAaron Patterson2010-12-141-0/+10
|
* to_sql on nodes may be passed an engineAaron Patterson2010-09-271-6/+1
|
* moving expression up to function classAaron Patterson2010-09-231-0/+1
|
* average node is addedAaron Patterson2010-09-081-0/+22