aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-02-21 11:09:21 +0100
committerJosé Valim <jose.valim@gmail.com>2010-02-21 11:12:14 +0100
commit250c8092461f5e6bf62751b313f6605a37fd1b2b (patch)
tree7ef84aa83bd41eb023b9d4323d7208bd75d1b994 /activemodel/lib
parent9dd67fce25d3993a0ee494506ba246a45d395e3f (diff)
downloadrails-250c8092461f5e6bf62751b313f6605a37fd1b2b.tar.gz
rails-250c8092461f5e6bf62751b313f6605a37fd1b2b.tar.bz2
rails-250c8092461f5e6bf62751b313f6605a37fd1b2b.zip
Require persisted? in ActiveModel::Lint and remove new_record? and destroyed? methods. ActionPack does not care if the resource is new or if it was destroyed, it cares only if it's persisted somewhere or not.
Diffstat (limited to 'activemodel/lib')
-rw-r--r--activemodel/lib/active_model/conversion.rb12
-rw-r--r--activemodel/lib/active_model/lint.rb25
2 files changed, 16 insertions, 21 deletions
diff --git a/activemodel/lib/active_model/conversion.rb b/activemodel/lib/active_model/conversion.rb
index 78dc34197b..585c20dcdf 100644
--- a/activemodel/lib/active_model/conversion.rb
+++ b/activemodel/lib/active_model/conversion.rb
@@ -8,9 +8,9 @@ module ActiveModel
# class ContactMessage
# include ActiveModel::Conversion
#
- # # Always a new record, since it's not persisted in the DB.
- # def new_record?
- # true
+ # # ContactMessage are never persisted in the DB
+ # def persisted?
+ # false
# end
# end
#
@@ -30,13 +30,13 @@ module ActiveModel
self
end
- # Returns an Enumerable of all (primary) key attributes or nil if new_record? is true
+ # Returns an Enumerable of all (primary) key attributes or nil if persisted? is fakse
def to_key
- new_record? ? nil : [id]
+ persisted? ? [id] : nil
end
# Returns a string representing the object's key suitable for use in URLs,
- # or nil if new_record? is true
+ # or nil if persisted? is false
def to_param
to_key ? to_key.join('-') : nil
end
diff --git a/activemodel/lib/active_model/lint.rb b/activemodel/lib/active_model/lint.rb
index 98413ac9fb..0e62e131a3 100644
--- a/activemodel/lib/active_model/lint.rb
+++ b/activemodel/lib/active_model/lint.rb
@@ -17,28 +17,28 @@ module ActiveModel
# == Responds to <tt>to_key</tt>
#
# Returns an Enumerable of all (primary) key attributes
- # or nil if model.new_record? is true
+ # or nil if model.persisted? is false
def test_to_key
assert model.respond_to?(:to_key), "The model should respond to to_key"
- def model.new_record?() true end
+ def model.persisted?() false end
assert model.to_key.nil?
- def model.new_record?() false end
+ def model.persisted?() true end
assert model.to_key.respond_to?(:each)
end
# == Responds to <tt>to_param</tt>
#
# Returns a string representing the object's key suitable for use in URLs
- # or nil if model.new_record? is true.
+ # or nil if model.persisted? is false.
#
# Implementers can decide to either raise an exception or provide a default
# in case the record uses a composite primary key. There are no tests for this
# behavior in lint because it doesn't make sense to force any of the possible
# implementation strategies on the implementer. However, if the resource is
- # a new_record?, then to_param should always return nil.
+ # not persisted?, then to_param should always return nil.
def test_to_param
assert model.respond_to?(:to_param), "The model should respond to to_param"
- def model.new_record?() true end
+ def model.persisted?() false end
assert model.to_param.nil?
end
@@ -51,21 +51,16 @@ module ActiveModel
assert_boolean model.valid?, "valid?"
end
- # == Responds to <tt>new_record?</tt>
+ # == Responds to <tt>persisted?</tt>
#
# Returns a boolean that specifies whether the object has been persisted yet.
# This is used when calculating the URL for an object. If the object is
# not persisted, a form for that object, for instance, will be POSTed to the
# collection. If it is persisted, a form for the object will put PUTed to the
# URL for the object.
- def test_new_record?
- assert model.respond_to?(:new_record?), "The model should respond to new_record?"
- assert_boolean model.new_record?, "new_record?"
- end
-
- def test_destroyed?
- assert model.respond_to?(:destroyed?), "The model should respond to destroyed?"
- assert_boolean model.destroyed?, "destroyed?"
+ def test_persisted?
+ assert model.respond_to?(:persisted?), "The model should respond to persisted?"
+ assert_boolean model.persisted?, "persisted?"
end
# == Naming