diff options
Diffstat (limited to 'lib/arel')
-rw-r--r-- | lib/arel/crud.rb | 21 | ||||
-rw-r--r-- | lib/arel/select_manager.rb | 18 | ||||
-rw-r--r-- | lib/arel/table.rb | 2 |
3 files changed, 25 insertions, 16 deletions
diff --git a/lib/arel/crud.rb b/lib/arel/crud.rb new file mode 100644 index 0000000000..5b432cb2b6 --- /dev/null +++ b/lib/arel/crud.rb @@ -0,0 +1,21 @@ +module Arel + ### + # FIXME hopefully we can remove this + module Crud + # FIXME: this method should go away + def update values + um = UpdateManager.new @engine + um.table values.first.first.relation + um.set values + um.wheres = @ctx.wheres + @engine.connection.execute um.to_sql + end + + # FIXME: this method should go away + def insert values + im = InsertManager.new @engine + im.insert values + @engine.connection.execute im.to_sql + end + end +end diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb index 7379596aba..23d85e3386 100644 --- a/lib/arel/select_manager.rb +++ b/lib/arel/select_manager.rb @@ -1,5 +1,7 @@ module Arel class SelectManager < Arel::TreeManager + include Arel::Crud + def initialize engine super @head = Nodes::SelectStatement.new @@ -25,21 +27,5 @@ module Arel @head.limit = limit self end - - # FIXME: this method should go away - def update values - um = UpdateManager.new @engine - um.table values.first.first.relation - um.set values - um.wheres = @ctx.wheres - @engine.connection.execute um.to_sql - end - - # FIXME: this method should go away - def insert values - im = InsertManager.new @engine - im.insert values - @engine.connection.execute im.to_sql - end end end diff --git a/lib/arel/table.rb b/lib/arel/table.rb index 4269dfc62f..b629e0755b 100644 --- a/lib/arel/table.rb +++ b/lib/arel/table.rb @@ -1,5 +1,7 @@ module Arel class Table + include Arel::Crud + @engine = nil class << self; attr_accessor :engine; end |