Permalink
Browse files

Deprecate `Rails::Generators::ActiveModel#update_attributes`

Deprecate #update_attributes in favor of `#update`.

ORMs that implement `Generators::ActiveModel#update_attributes` should change
to `#update`. Scaffold controller generators should change calls like:

    @orm_instance.update_attributes(...)

to:

    @orm_instance.update(...)

This goes along with the addition of `ActiveRecord::Base#update`,
introduced in cb2bd4a.
  • Loading branch information...
carlosantoniodasilva committed Jan 12, 2013
1 parent 9b636dc commit 2549a3b088de14c36d60de6c60c1374af75c326f
Showing with 23 additions and 0 deletions.
  1. +15 −0 railties/CHANGELOG.md
  2. +8 −0 railties/lib/rails/generators/active_model.rb
View
@@ -1,5 +1,20 @@
## Rails 4.0.0 (unreleased) ##
+* Deprecate `Rails::Generators::ActiveModel#update_attributes` in favor of `#update`.
+
+ ORMs that implement `Generators::ActiveModel#update_attributes` should change
+ to `#update`. Scaffold controller generators should change calls like:
+
+ @orm_instance.update_attributes(...)
+
+ to:
+
+ @orm_instance.update(...)
+
+ This goes along with the addition of `ActiveRecord::Base#update`.
+
+ *Carlos Antonio da Silva*
+
* Include `jbuilder` by default and rely on its scaffold generator to show json API.
Check https://github.com/rails/jbuilder for more info and examples.
@@ -1,3 +1,5 @@
+require 'active_support/deprecation'
+
module Rails
module Generators
# ActiveModel is a class to be implemented by each ORM to allow Rails to
@@ -63,6 +65,12 @@ def update(params=nil)
"#{name}.update(#{params})"
end
+ def update_attributes(*args) # :nodoc:
+ ActiveSupport::Deprecation.warn("Calling '@orm_instance.update_attributes' " \
+ "is deprecated, please use '@orm_instance.update' instead.")
+ update(*args)
+ end
+
# POST create
# PATCH/PUT update
def errors

0 comments on commit 2549a3b

Please sign in to comment.