aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/relations
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel/relations')
-rw-r--r--lib/arel/relations/relation.rb4
-rw-r--r--lib/arel/relations/writes/delete.rb6
-rw-r--r--lib/arel/relations/writes/update.rb12
3 files changed, 11 insertions, 11 deletions
diff --git a/lib/arel/relations/relation.rb b/lib/arel/relations/relation.rb
index d9ba9a108b..50110c7416 100644
--- a/lib/arel/relations/relation.rb
+++ b/lib/arel/relations/relation.rb
@@ -99,11 +99,11 @@ module Arel
end
def update(assignments)
- session.update Update.new(self, assignments); self
+ session.update Update.new(self, assignments)
end
def delete
- session.delete Deletion.new(self); self
+ session.delete Deletion.new(self)
end
end
include Writable
diff --git a/lib/arel/relations/writes/delete.rb b/lib/arel/relations/writes/delete.rb
index 318a299b8b..b1ff3bef27 100644
--- a/lib/arel/relations/writes/delete.rb
+++ b/lib/arel/relations/writes/delete.rb
@@ -11,9 +11,9 @@ module Arel
("LIMIT #{taken}" unless taken.blank? ),
].compact.join("\n")
end
-
- def call(connection = engine.connection)
+
+ def call(connection = engine)
connection.delete(to_sql)
end
end
-end \ No newline at end of file
+end
diff --git a/lib/arel/relations/writes/update.rb b/lib/arel/relations/writes/update.rb
index 720b9d697d..3b43152ad6 100644
--- a/lib/arel/relations/writes/update.rb
+++ b/lib/arel/relations/writes/update.rb
@@ -2,7 +2,7 @@ module Arel
class Update < Compound
attributes :relation, :assignments
deriving :==
-
+
def initialize(relation, assignments)
@relation, @assignments = relation, assignments.bind(relation)
end
@@ -11,15 +11,15 @@ module Arel
[
"UPDATE #{table_sql} SET",
assignments.collect do |attribute, value|
- "#{value.format(attribute)} = #{attribute.format(value)}"
+ "#{engine.quote_column_name(attribute.name)} = #{attribute.format(value)}"
end.join(",\n"),
- ("WHERE #{wheres.collect(&:to_sql).join('\n\tAND ')}" unless wheres.blank? ),
+ ("WHERE #{wheres.map(&:to_sql).join('\n\tAND ')}" unless wheres.blank? ),
("LIMIT #{taken}" unless taken.blank? )
].join("\n")
end
-
- def call(connection = engine.connection)
+
+ def call(connection = engine)
connection.update(to_sql)
end
end
-end \ No newline at end of file
+end