11RSpec . shared_context 'ams movie class' do
22 before ( :context ) do
33 # models
4- class AMSMovie < ActiveModelSerializers ::Model
5- attr_accessor :id , :name , :release_year , :actors , :owner , :movie_type
4+ class AMSModel < ActiveModelSerializers ::Model
5+ derive_attributes_from_names_and_fix_accessors
6+ end
7+ class AMSMovie < AMSModel
8+ attributes :id , :name , :release_year , :actors , :owner , :movie_type
69 end
710
8- class AMSActor < ActiveModelSerializers :: Model
9- attr_accessor :id , :name , :email
11+ class AMSActor < AMSModel
12+ attributes :id , :name , :email
1013 end
1114
12- class AMSUser < ActiveModelSerializers :: Model
13- attr_accessor :id , :name
15+ class AMSUser < AMSModel
16+ attributes :id , :name
1417 end
15- class AMSMovieType < ActiveModelSerializers :: Model
16- attr_accessor :id , :name
18+ class AMSMovieType < AMSModel
19+ attributes :id , :name
1720 end
1821 # serializers
19- class AMSMovieSerializer < ActiveModel ::Serializer
20- type 'movie'
21- attributes :name , :release_year
22- has_many :actors
23- has_one :owner
24- belongs_to :movie_type
25- end
26-
2722 class AMSActorSerializer < ActiveModel ::Serializer
2823 type 'actor'
2924 attributes :name , :email
3025 end
31-
3226 class AMSUserSerializer < ActiveModel ::Serializer
3327 type 'user'
3428 attributes :name
@@ -37,6 +31,13 @@ class AMSMovieTypeSerializer < ActiveModel::Serializer
3731 type 'movie_type'
3832 attributes :name
3933 end
34+ class AMSMovieSerializer < ActiveModel ::Serializer
35+ type 'movie'
36+ attributes :name , :release_year
37+ has_many :actors
38+ has_one :owner
39+ belongs_to :movie_type
40+ end
4041 end
4142
4243 after ( :context ) do
0 commit comments