remove dynamic class creation where not needed (#1850)

* remove dynamic class creation where not needed
This commit is contained in:
L. Preston Sego III
2016-07-18 15:11:09 -04:00
committed by Benjamin Fleischer
parent 3ad2457aaf
commit aa4d89ab47
14 changed files with 90 additions and 85 deletions

View File

@@ -3,7 +3,8 @@ require 'test_helper'
module ActiveModel
class Serializer
class AssociationMacrosTest < ActiveSupport::TestCase
AuthorSummarySerializer = Class.new
class AuthorSummarySerializer < ActiveModel::Serializer; end
class AssociationsTestSerializer < Serializer
belongs_to :author, serializer: AuthorSummarySerializer
has_many :comments

View File

@@ -159,18 +159,18 @@ module ActiveModel
class NamespacedResourcesTest < ActiveSupport::TestCase
class ResourceNamespace
Post = Class.new(::Model)
Comment = Class.new(::Model)
Author = Class.new(::Model)
Description = Class.new(::Model)
class Post < ::Model; end
class Comment < ::Model; end
class Author < ::Model; end
class Description < ::Model; end
class PostSerializer < ActiveModel::Serializer
has_many :comments
belongs_to :author
has_one :description
end
CommentSerializer = Class.new(ActiveModel::Serializer)
AuthorSerializer = Class.new(ActiveModel::Serializer)
DescriptionSerializer = Class.new(ActiveModel::Serializer)
class CommentSerializer < ActiveModel::Serializer; end
class AuthorSerializer < ActiveModel::Serializer; end
class DescriptionSerializer < ActiveModel::Serializer; end
end
def setup
@@ -200,17 +200,17 @@ module ActiveModel
end
class NestedSerializersTest < ActiveSupport::TestCase
Post = Class.new(::Model)
Comment = Class.new(::Model)
Author = Class.new(::Model)
Description = Class.new(::Model)
class Post < ::Model; end
class Comment < ::Model; end
class Author < ::Model; end
class Description < ::Model; end
class PostSerializer < ActiveModel::Serializer
has_many :comments
CommentSerializer = Class.new(ActiveModel::Serializer)
class CommentSerializer < ActiveModel::Serializer; end
belongs_to :author
AuthorSerializer = Class.new(ActiveModel::Serializer)
class AuthorSerializer < ActiveModel::Serializer; end
has_one :description
DescriptionSerializer = Class.new(ActiveModel::Serializer)
class DescriptionSerializer < ActiveModel::Serializer; end
end
def setup
@@ -291,12 +291,12 @@ module ActiveModel
end
class InheritedSerializerTest < ActiveSupport::TestCase
InheritedPostSerializer = Class.new(PostSerializer) do
class InheritedPostSerializer < PostSerializer
belongs_to :author, polymorphic: true
has_many :comments, key: :reviews
end
InheritedAuthorSerializer = Class.new(AuthorSerializer) do
class InheritedAuthorSerializer < AuthorSerializer
has_many :roles, polymorphic: true
has_one :bio, polymorphic: true
end

View File

@@ -81,7 +81,7 @@ module ActiveModel
assert_equal('custom', hash[:blog][:id])
end
PostWithVirtualAttribute = Class.new(::Model)
class PostWithVirtualAttribute < ::Model; end
class PostWithVirtualAttributeSerializer < ActiveModel::Serializer
attribute :name do
"#{object.first_name} #{object.last_name}"

View File

@@ -28,8 +28,8 @@ module ActiveModel
class SerializerTest < ActiveSupport::TestCase
module ResourceNamespace
Post = Class.new(::Model)
Comment = Class.new(::Model)
class Post < ::Model; end
class Comment < ::Model; end
class PostSerializer < ActiveModel::Serializer
class CommentSerializer < ActiveModel::Serializer
@@ -46,7 +46,7 @@ module ActiveModel
end
end
Tweet = Class.new(::Model)
class Tweet < ::Model; end
TweetSerializer = Class.new
def setup