aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-12-14 20:53:19 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2010-12-14 20:53:19 -0800
commitd4bfaf2b82934e8611824c15cbf855d3d02418b5 (patch)
tree39a6df65cf143a60b53aa806c6e5b5db5b072cca
parentef46276acda7db7b33ee8b84a39cd7d10c3e2628 (diff)
downloadrails-d4bfaf2b82934e8611824c15cbf855d3d02418b5.tar.gz
rails-d4bfaf2b82934e8611824c15cbf855d3d02418b5.tar.bz2
rails-d4bfaf2b82934e8611824c15cbf855d3d02418b5.zip
cleaning up more nodes
-rw-r--r--Manifest.txt6
-rw-r--r--lib/arel/nodes.rb10
-rw-r--r--lib/arel/nodes/group.rb6
-rw-r--r--lib/arel/nodes/grouping.rb6
-rw-r--r--lib/arel/nodes/having.rb6
-rw-r--r--lib/arel/nodes/not.rb6
-rw-r--r--lib/arel/nodes/offset.rb7
-rw-r--r--lib/arel/nodes/on.rb6
-rw-r--r--lib/arel/nodes/unary.rb12
-rw-r--r--lib/arel/visitors/oracle.rb4
10 files changed, 17 insertions, 52 deletions
diff --git a/Manifest.txt b/Manifest.txt
index 82c2c4f61a..0dcd1eb2b8 100644
--- a/Manifest.txt
+++ b/Manifest.txt
@@ -25,9 +25,6 @@ lib/arel/nodes/delete_statement.rb
lib/arel/nodes/equality.rb
lib/arel/nodes/exists.rb
lib/arel/nodes/function.rb
-lib/arel/nodes/group.rb
-lib/arel/nodes/grouping.rb
-lib/arel/nodes/having.rb
lib/arel/nodes/in.rb
lib/arel/nodes/inner_join.rb
lib/arel/nodes/insert_statement.rb
@@ -36,9 +33,6 @@ lib/arel/nodes/lock.rb
lib/arel/nodes/max.rb
lib/arel/nodes/min.rb
lib/arel/nodes/node.rb
-lib/arel/nodes/not.rb
-lib/arel/nodes/offset.rb
-lib/arel/nodes/on.rb
lib/arel/nodes/ordering.rb
lib/arel/nodes/outer_join.rb
lib/arel/nodes/select_core.rb
diff --git a/lib/arel/nodes.rb b/lib/arel/nodes.rb
index 83977c356a..9af6ad9ce3 100644
--- a/lib/arel/nodes.rb
+++ b/lib/arel/nodes.rb
@@ -1,5 +1,8 @@
require 'arel/nodes/node'
+
require 'arel/nodes/unary'
+require 'arel/nodes/unqualified_column'
+
require 'arel/nodes/binary'
require 'arel/nodes/equality'
@@ -7,31 +10,24 @@ require 'arel/nodes/and'
require 'arel/nodes/in'
require 'arel/nodes/lock'
-require 'arel/nodes/not'
require 'arel/nodes/join_source'
require 'arel/nodes/ordering'
require 'arel/nodes/function'
require 'arel/nodes/count'
require 'arel/nodes/values'
-require 'arel/nodes/offset'
require 'arel/nodes/sum'
require 'arel/nodes/exists'
require 'arel/nodes/max'
require 'arel/nodes/min'
require 'arel/nodes/avg'
-require 'arel/nodes/having'
require 'arel/nodes/sql_literal'
require 'arel/nodes/select_core'
require 'arel/nodes/select_statement'
require 'arel/nodes/insert_statement'
require 'arel/nodes/update_statement'
require 'arel/nodes/delete_statement'
-require 'arel/nodes/unqualified_column'
require 'arel/nodes/table_alias'
-require 'arel/nodes/group'
-require 'arel/nodes/grouping'
require 'arel/nodes/inner_join'
require 'arel/nodes/outer_join'
require 'arel/nodes/string_join'
-require 'arel/nodes/on'
diff --git a/lib/arel/nodes/group.rb b/lib/arel/nodes/group.rb
deleted file mode 100644
index a7fa6f170d..0000000000
--- a/lib/arel/nodes/group.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-module Arel
- module Nodes
- class Group < Arel::Nodes::Unary
- end
- end
-end
diff --git a/lib/arel/nodes/grouping.rb b/lib/arel/nodes/grouping.rb
deleted file mode 100644
index 18adeae97f..0000000000
--- a/lib/arel/nodes/grouping.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-module Arel
- module Nodes
- class Grouping < Arel::Nodes::Unary
- end
- end
-end
diff --git a/lib/arel/nodes/having.rb b/lib/arel/nodes/having.rb
deleted file mode 100644
index 6972c58dda..0000000000
--- a/lib/arel/nodes/having.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-module Arel
- module Nodes
- class Having < Arel::Nodes::Unary
- end
- end
-end
diff --git a/lib/arel/nodes/not.rb b/lib/arel/nodes/not.rb
deleted file mode 100644
index de138435bb..0000000000
--- a/lib/arel/nodes/not.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-module Arel
- module Nodes
- class Not < Arel::Nodes::Unary
- end
- end
-end
diff --git a/lib/arel/nodes/offset.rb b/lib/arel/nodes/offset.rb
deleted file mode 100644
index d93e46aa1f..0000000000
--- a/lib/arel/nodes/offset.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-module Arel
- module Nodes
- class Offset < Arel::Nodes::Unary
- alias :value :expr
- end
- end
-end
diff --git a/lib/arel/nodes/on.rb b/lib/arel/nodes/on.rb
deleted file mode 100644
index 953d64f9f1..0000000000
--- a/lib/arel/nodes/on.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-module Arel
- module Nodes
- class On < Arel::Nodes::Unary
- end
- end
-end
diff --git a/lib/arel/nodes/unary.rb b/lib/arel/nodes/unary.rb
index edda89e1f0..f679017597 100644
--- a/lib/arel/nodes/unary.rb
+++ b/lib/arel/nodes/unary.rb
@@ -2,10 +2,22 @@ module Arel
module Nodes
class Unary < Arel::Nodes::Node
attr_accessor :expr
+ alias :value :expr
def initialize expr
@expr = expr
end
end
+
+ %w{
+ Not
+ Group
+ Grouping
+ Offset
+ Having
+ On
+ }.each do |name|
+ const_set(name, Class.new(Unary))
+ end
end
end
diff --git a/lib/arel/visitors/oracle.rb b/lib/arel/visitors/oracle.rb
index ecb157f8bc..63dfc6788c 100644
--- a/lib/arel/visitors/oracle.rb
+++ b/lib/arel/visitors/oracle.rb
@@ -27,7 +27,7 @@ module Arel
SELECT * FROM (
SELECT raw_sql_.*, rownum raw_rnum_
FROM (#{sql}) raw_sql_
- WHERE rownum <= #{offset.value.to_i + limit}
+ WHERE rownum <= #{offset.expr.to_i + limit}
)
WHERE #{visit offset}
eosql
@@ -58,7 +58,7 @@ module Arel
end
def visit_Arel_Nodes_Offset o
- "raw_rnum_ > #{visit o.value}"
+ "raw_rnum_ > #{visit o.expr}"
end
###