Rename :as to :key, as it's confusing

This commit is contained in:
Yehuda Katz 2011-12-07 12:16:22 -08:00
parent 5054d2a449
commit ca7786c2e0
2 changed files with 13 additions and 13 deletions

View File

@ -70,7 +70,7 @@ module ActiveModel
end
def key
options[:as] || name
options[:key] || name
end
end
@ -126,10 +126,10 @@ module ActiveModel
class_eval "def #{attr}() object.#{attr} end", __FILE__, __LINE__
end
# if :as is specified without :serializer, then use conventions
# if :key is specified without :serializer, then use conventions
# to determine the serializer
if options[:as] && !options[:serializer]
options[:serializer] = const_get("#{options[:as].to_s.camelize.singularize}Serializer")
if options[:key] && !options[:serializer]
options[:serializer] = const_get("#{options[:key].to_s.camelize.singularize}Serializer")
else
options[:serializer] ||= const_get("#{attr.to_s.camelize}Serializer")
end
@ -171,10 +171,10 @@ module ActiveModel
#
# { :posts => { :has_many => :posts } }
#
# If :as is used:
# If :key is used:
#
# class PostsSerializer < ActiveModel::Serializer
# has_many :my_posts, :as => :posts
# has_many :posts, :key => :my_posts
# end
#
# the hash looks like this:
@ -198,7 +198,7 @@ module ActiveModel
end
associations = _associations.inject({}) do |hash, association|
model_association = klass.reflect_on_association(association.key)
model_association = klass.reflect_on_association(association.name)
hash.merge association.key => { model_association.macro => model_association.name }
end

View File

@ -440,8 +440,8 @@ class SerializerTest < ActiveModel::TestCase
end
class CustomBlogSerializer < ActiveModel::Serializer
has_many :public_posts, :as => :posts, :serializer => PostSerializer
has_one :public_user, :as => :user, :serializer => UserSerializer
has_many :public_posts, :key => :posts, :serializer => PostSerializer
has_one :public_user, :key => :user, :serializer => UserSerializer
end
def test_associations_with_as
@ -478,8 +478,8 @@ class SerializerTest < ActiveModel::TestCase
const_set(:UserSerializer, UserSerializer)
const_set(:PostSerializer, PostSerializer)
has_many :public_posts, :as => :posts
has_one :public_user, :as => :user
has_many :public_posts, :key => :posts
has_one :public_user, :key => :user
end
posts = [
@ -559,8 +559,8 @@ class SerializerTest < ActiveModel::TestCase
end
attributes :name, :age
has_many :my_posts, :as => :posts, :serializer => Class.new
has_one :my_parent, :as => :parent, :serializer => Class.new
has_many :posts, :key => :my_posts, :serializer => Class.new
has_one :parent, :key => :my_parent, :serializer => Class.new
end
assert_equal serializer.schema, {