aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/arel/crud.rb6
-rw-r--r--lib/arel/delete_manager.rb2
-rw-r--r--lib/arel/insert_manager.rb2
-rw-r--r--lib/arel/nodes/table_alias.rb4
-rw-r--r--lib/arel/select_manager.rb8
-rw-r--r--lib/arel/table.rb7
-rw-r--r--lib/arel/tree_manager.rb11
-rw-r--r--lib/arel/update_manager.rb2
8 files changed, 16 insertions, 26 deletions
diff --git a/lib/arel/crud.rb b/lib/arel/crud.rb
index 6f4962cbfe..2dfe27445c 100644
--- a/lib/arel/crud.rb
+++ b/lib/arel/crud.rb
@@ -3,7 +3,7 @@ module Arel
# FIXME hopefully we can remove this
module Crud
def compile_update values, pk
- um = UpdateManager.new @engine
+ um = UpdateManager.new
if Nodes::SqlLiteral === values
relation = @ctx.from
@@ -26,11 +26,11 @@ module Arel
end
def create_insert
- InsertManager.new @engine
+ InsertManager.new
end
def compile_delete
- dm = DeleteManager.new @engine
+ dm = DeleteManager.new
dm.wheres = @ctx.wheres
dm.from @ctx.froms
dm
diff --git a/lib/arel/delete_manager.rb b/lib/arel/delete_manager.rb
index b4c61f708f..af33c60740 100644
--- a/lib/arel/delete_manager.rb
+++ b/lib/arel/delete_manager.rb
@@ -1,6 +1,6 @@
module Arel
class DeleteManager < Arel::TreeManager
- def initialize engine
+ def initialize
super
@ast = Nodes::DeleteStatement.new
@ctx = @ast
diff --git a/lib/arel/insert_manager.rb b/lib/arel/insert_manager.rb
index 8839dd8181..7829c3f4f9 100644
--- a/lib/arel/insert_manager.rb
+++ b/lib/arel/insert_manager.rb
@@ -1,6 +1,6 @@
module Arel
class InsertManager < Arel::TreeManager
- def initialize engine
+ def initialize
super
@ast = Nodes::InsertStatement.new
end
diff --git a/lib/arel/nodes/table_alias.rb b/lib/arel/nodes/table_alias.rb
index ebfcb58e64..b32f057117 100644
--- a/lib/arel/nodes/table_alias.rb
+++ b/lib/arel/nodes/table_alias.rb
@@ -12,10 +12,6 @@ module Arel
def table_name
relation.respond_to?(:name) ? relation.name : name
end
-
- def engine
- relation.engine
- end
end
end
end
diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb
index 5a05e7e181..dd1ae37b65 100644
--- a/lib/arel/select_manager.rb
+++ b/lib/arel/select_manager.rb
@@ -6,8 +6,8 @@ module Arel
STRING_OR_SYMBOL_CLASS = [Symbol, String]
- def initialize engine, table = nil
- super(engine)
+ def initialize table = nil
+ super()
@ast = Nodes::SelectStatement.new
@ctx = @ast.cores.last
from table
@@ -176,10 +176,10 @@ module Arel
@ast.orders
end
- def where_sql
+ def where_sql engine = Table.engine
return if @ctx.wheres.empty?
- viz = Visitors::WhereSql.new @engine.connection
+ viz = Visitors::WhereSql.new engine.connection
Nodes::SqlLiteral.new viz.accept(@ctx, Collectors::SQLString.new).value
end
diff --git a/lib/arel/table.rb b/lib/arel/table.rb
index d534c44fa1..2c7a2b7f93 100644
--- a/lib/arel/table.rb
+++ b/lib/arel/table.rb
@@ -6,7 +6,7 @@ module Arel
@engine = nil
class << self; attr_accessor :engine; end
- attr_accessor :name, :engine, :aliases, :table_alias
+ attr_accessor :name, :aliases, :table_alias
# TableAlias and Table both have a #table_name which is the name of the underlying table
alias :table_name :name
@@ -15,7 +15,6 @@ module Arel
@name = name.to_s
@columns = nil
@aliases = []
- @engine = Table.engine
# Sometime AR sends an :as parameter to table, to let the table know
# that it is an Alias. We may want to override new, and return a
@@ -32,8 +31,8 @@ module Arel
end
end
- def from engine = Table.engine
- SelectManager.new(engine, self)
+ def from
+ SelectManager.new(self)
end
def join relation, klass = Nodes::InnerJoin
diff --git a/lib/arel/tree_manager.rb b/lib/arel/tree_manager.rb
index 8bff97af78..5278ab06a1 100644
--- a/lib/arel/tree_manager.rb
+++ b/lib/arel/tree_manager.rb
@@ -8,8 +8,7 @@ module Arel
attr_accessor :bind_values
- def initialize engine
- @engine = engine
+ def initialize
@ctx = nil
@bind_values = []
end
@@ -20,13 +19,9 @@ module Arel
collector.value
end
- def visitor
- engine.connection.visitor
- end
-
- def to_sql
+ def to_sql engine = Table.engine
collector = Arel::Collectors::SQLString.new
- collector = visitor.accept @ast, collector
+ collector = engine.connection.visitor.accept @ast, collector
collector.value
end
diff --git a/lib/arel/update_manager.rb b/lib/arel/update_manager.rb
index db8cf05f76..36fb74fe7c 100644
--- a/lib/arel/update_manager.rb
+++ b/lib/arel/update_manager.rb
@@ -1,6 +1,6 @@
module Arel
class UpdateManager < Arel::TreeManager
- def initialize engine
+ def initialize
super
@ast = Nodes::UpdateStatement.new
@ctx = @ast