Better AMS Model attributes interface

This commit is contained in:
Benjamin Fleischer
2016-11-20 23:25:09 -06:00
parent cd09e89006
commit 772b7999c5
12 changed files with 21 additions and 15 deletions

View File

@@ -2,16 +2,16 @@ require 'test_helper'
module SerializationScopeTesting
class User < ActiveModelSerializers::Model
attr_accessor :id, :name, :admin
attributes :id, :name, :admin
def admin?
admin
end
end
class Comment < ActiveModelSerializers::Model
attr_accessor :id, :body
attributes :id, :body
end
class Post < ActiveModelSerializers::Model
attr_accessor :id, :title, :body, :comments
attributes :id, :title, :body, :comments
end
class PostSerializer < ActiveModel::Serializer
attributes :id, :title, :body, :comments

View File

@@ -10,7 +10,7 @@ module ActiveModelSerializers
def test_initialization_with_string_keys
klass = Class.new(ActiveModelSerializers::Model) do
attr_accessor :key
attributes :key
end
value = 'value'

View File

@@ -384,7 +384,7 @@ module ActiveModelSerializers
def new_model(model_attributes)
Class.new(ActiveModelSerializers::Model) do
attr_accessor(*model_attributes.keys)
attributes(*model_attributes.keys)
def self.name
'TestModel'

View File

@@ -244,7 +244,7 @@ module ActiveModelSerializers
# rubocop:disable Metrics/AbcSize
def test_a_serializer_rendered_by_two_adapter_returns_differently_fetch_attributes
Object.const_set(:Alert, Class.new(ActiveModelSerializers::Model) do
attr_accessor :id, :status, :resource, :started_at, :ended_at, :updated_at, :created_at
attributes :id, :status, :resource, :started_at, :ended_at, :updated_at, :created_at
end)
Object.const_set(:UncachedAlertSerializer, Class.new(ActiveModel::Serializer) do
attributes :id, :status, :resource, :started_at, :ended_at, :updated_at, :created_at

View File

@@ -31,7 +31,7 @@ end
# model.validate! # => ["cannot be nil"]
# model.errors.full_messages # => ["name cannot be nil"]
class ModelWithErrors < ::ActiveModelSerializers::Model
attr_accessor :name
attributes :name
end
class Profile < Model

View File

@@ -5,10 +5,10 @@ module ActiveModel
class ReadAttributeForSerializationTest < ActiveSupport::TestCase
# https://github.com/rails-api/active_model_serializers/issues/1653
class Parent < ActiveModelSerializers::Model
attr_accessor :id
attributes :id
end
class Child < Parent
attr_accessor :name
attributes :name
end
class ParentSerializer < ActiveModel::Serializer
attributes :$id
@@ -30,7 +30,7 @@ module ActiveModel
# https://github.com/rails-api/active_model_serializers/issues/1658
class ErrorResponse < ActiveModelSerializers::Model
attr_accessor :error
attributes :error
end
class ApplicationSerializer < ActiveModel::Serializer
attributes :status

View File

@@ -2,10 +2,10 @@ module ActiveModel
class Serializer
class SerializationTest < ActiveSupport::TestCase
class Blog < ActiveModelSerializers::Model
attr_accessor :id, :name, :authors
attributes :id, :name, :authors
end
class Author < ActiveModelSerializers::Model
attr_accessor :id, :name
attributes :id, :name
end
class BlogSerializer < ActiveModel::Serializer
attributes :id