AttributeSet#include? -> AttributeSet#key?

https://github.com/rails/rails/pull/15868/files#r14135210
This commit is contained in:
Sean Griffin 2014-07-11 07:50:16 -06:00
parent fe6715ea0d
commit 9c83e8401d
3 changed files with 10 additions and 10 deletions

View File

@ -251,7 +251,7 @@ module ActiveRecord
# person.has_attribute?('age') # => true
# person.has_attribute?(:nothing) # => false
def has_attribute?(attr_name)
@attributes.include?(attr_name.to_s)
@attributes.key?(attr_name.to_s)
end
# Returns an array of names for the attributes available on this object.
@ -386,7 +386,7 @@ module ActiveRecord
def attribute_method?(attr_name) # :nodoc:
# We check defined? because Syck calls respond_to? before actually calling initialize.
defined?(@attributes) && @attributes.include?(attr_name)
defined?(@attributes) && @attributes.key?(attr_name)
end
private

View File

@ -21,8 +21,8 @@ module ActiveRecord
end
alias_method :to_h, :to_hash
def include?(name)
attributes.include?(name) && self[name].initialized?
def key?(name)
attributes.key?(name) && self[name].initialized?
end
def fetch_value(name, &block)
@ -53,7 +53,7 @@ module ActiveRecord
end
def reset(key)
if include?(key)
if key?(key)
write_from_database(key, nil)
end
end

View File

@ -88,15 +88,15 @@ module ActiveRecord
assert_equal [:foo], attributes.keys
end
test "uninitialized attributes return false for include?" do
test "uninitialized attributes return false for key?" do
attributes = attributes_with_uninitialized_key
assert attributes.include?(:foo)
assert_not attributes.include?(:bar)
assert attributes.key?(:foo)
assert_not attributes.key?(:bar)
end
test "unknown attributes return false for include?" do
test "unknown attributes return false for key?" do
attributes = attributes_with_uninitialized_key
assert_not attributes.include?(:wibble)
assert_not attributes.key?(:wibble)
end
test "fetch_value returns the value for the given initialized attribute" do