Skip to content

Commit 7843e41

Browse files
bf4shishirmk
authored andcommitted
Better usage of AMS::Model
1 parent 7b02999 commit 7843e41

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

spec/shared/contexts/ams_context.rb

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,28 @@
11
RSpec.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

Comments
 (0)