fars 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/Gemfile.lock +1 -1
- data/README.md +259 -3
- data/fars.gemspec +3 -4
- data/lib/fars.rb +22 -3
- data/lib/fars/base_collection_serializer.rb +95 -41
- data/lib/fars/base_model_serializer.rb +32 -188
- data/lib/fars/base_object_serializer.rb +147 -0
- data/lib/fars/model_serializable.rb +7 -0
- data/lib/fars/relation_serializable.rb +5 -0
- data/lib/fars/version.rb +1 -1
- data/spec/active_record/base_spec.rb +15 -0
- data/spec/active_record/relation_spec.rb +16 -0
- data/spec/array_spec.rb +19 -0
- data/spec/fars/base_collection_serializer_spec.rb +45 -0
- data/spec/fars/base_model_serializer_spec.rb +110 -0
- data/spec/fars/base_object_serializer_spec.rb +35 -0
- data/spec/hash_spec.rb +36 -0
- data/spec/spec_helper.rb +6 -0
- data/spec/support/models/master.rb +3 -0
- data/spec/support/models/slave.rb +3 -0
- data/spec/support/serializers/another_master_serialiser.rb +11 -0
- data/spec/support/serializers/book_serializer.rb +12 -0
- data/spec/support/serializers/color_serializer.rb +5 -0
- data/spec/support/serializers/master_serializer.rb +8 -0
- data/spec/support/serializers/slave_serializer.rb +3 -0
- data/spec/support/serializers/stat_serializer.rb +5 -0
- data/spec/support/serializers/v1/master_serializer.rb +15 -0
- data/spec/support/serializers/v1/slave_serializer.rb +10 -0
- data/spec/tasks/db_setup.rake +1 -1
- metadata +42 -23
- data/spec/fars/api_version_spec.rb +0 -77
- data/spec/fars/fars_spec.rb +0 -75
data/spec/array_spec.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Array#serialize' do
|
4
|
+
subject { %w{green blue grey} }
|
5
|
+
let(:json_data) { { colors: [{ color: 'green' }, { color: 'blue' }, { color: 'grey' }] }.to_json }
|
6
|
+
|
7
|
+
specify 'with proc as item serializer' do
|
8
|
+
subject.serialize(root_key: :colors,
|
9
|
+
serializer: Proc.new { |c| { color: c } }).should == json_data
|
10
|
+
end
|
11
|
+
|
12
|
+
specify 'with block as item serializer' do
|
13
|
+
subject.serialize(root_key: :colors) { |c| { color: c } }.should == json_data
|
14
|
+
end
|
15
|
+
|
16
|
+
specify 'with custom class as item serializer' do
|
17
|
+
subject.serialize(root_key: :colors, serializer: 'ColorSerializer').should == json_data
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Fars::BaseCollectionSerializer do
|
4
|
+
before(:each) do
|
5
|
+
1.upto(2) { |i| Master.create(id: i, name: "Object#{i}", data: '123') }
|
6
|
+
1.upto(3) { |i| Slave.create(id: i, master_id: (i % 2) + 1, name: "Slave #{i}") }
|
7
|
+
end
|
8
|
+
|
9
|
+
context 'without API version' do
|
10
|
+
context '#to_json' do
|
11
|
+
it 'returns all fields with metadata' do
|
12
|
+
json_data = { masters: [
|
13
|
+
{ master: { id: 1, name: 'Object1' }, _metadata: { metadata: :present } },
|
14
|
+
{ master: { id: 2, name: 'Object2' }, _metadata: { metadata: :present } }
|
15
|
+
] }.to_json
|
16
|
+
|
17
|
+
described_class.new(Master.where('1 = 1'),
|
18
|
+
add_metadata: true,
|
19
|
+
fields: [:id, :name]
|
20
|
+
).to_json.should == json_data
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'with API version' do
|
26
|
+
context '#to_json' do
|
27
|
+
it 'returns all fields and relations withot metadata' do
|
28
|
+
json_data = { masters: [
|
29
|
+
{ master: { id: 1, name: 'Object1', data: '123', updated_at: '2014-04-14',
|
30
|
+
slaves: [{ slave: { id: 2, name: 'Slave 2', data: nil, updated_at: '2014-04-14' } }] } },
|
31
|
+
{ master: { id: 2, name: 'Object2', data: '123', updated_at: '2014-04-14',
|
32
|
+
slaves: [
|
33
|
+
{ slave: { id: 1, name: 'Slave 1', data: nil, updated_at: '2014-04-14'} },
|
34
|
+
{ slave: { id: 3, name: 'Slave 3', data: nil, updated_at: '2014-04-14'} }
|
35
|
+
] } }
|
36
|
+
] }.to_json
|
37
|
+
|
38
|
+
described_class.new(Master.where('1 = 1'),
|
39
|
+
add_metadata: false,
|
40
|
+
api_version: 'V1'
|
41
|
+
).to_json.should == json_data
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Fars::BaseModelSerializer do
|
4
|
+
before :each do
|
5
|
+
@object = Master.create(id: 1, name: 'Object1', data: '123')
|
6
|
+
1.upto(2) { |i| Slave.create(id: i, master_id: @object.id, name: "Slave #{i}") }
|
7
|
+
end
|
8
|
+
|
9
|
+
context 'without API version' do
|
10
|
+
context '#to_json' do
|
11
|
+
it 'returns all fields with metadata' do
|
12
|
+
json_data = {
|
13
|
+
master: { id: 1, name: 'Object1', data: '123' },
|
14
|
+
_metadata: { metadata: :present }
|
15
|
+
}.to_json
|
16
|
+
|
17
|
+
MasterSerializer.new(@object,
|
18
|
+
add_metadata: true,
|
19
|
+
fields: [:id, :name, :data]
|
20
|
+
).to_json.should == json_data
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'returns not all field, whithout metadata' do
|
24
|
+
json_data = { master: { id: 1, name: 'Object1' } }.to_json
|
25
|
+
|
26
|
+
MasterSerializer.new(@object,
|
27
|
+
add_metadata: false,
|
28
|
+
fields: [:id, :name]
|
29
|
+
).to_json.should == json_data
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'returns not all field, whithout metadata if serializer does not respond to meta method' do
|
33
|
+
json_data = { master: { id: 1, name: 'Object1' } }.to_json
|
34
|
+
|
35
|
+
MasterSerializer.any_instance.stub(:respond_to?).with(:meta).and_return(false)
|
36
|
+
|
37
|
+
MasterSerializer.new(@object,
|
38
|
+
fields: [:id, :name]
|
39
|
+
).to_json.should == json_data
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'returns all field with slaves' do
|
43
|
+
json_data = { master: { id: 1, name: 'Object1', data: '123',
|
44
|
+
slaves: [
|
45
|
+
{ slave: { id: 1, name: 'Slave 1', data: nil } },
|
46
|
+
{ slave: { id: 2, name: 'Slave 2', data: nil } },
|
47
|
+
]}}.to_json
|
48
|
+
|
49
|
+
MasterSerializer.new(@object,
|
50
|
+
add_metadata: false,
|
51
|
+
fields: [:id, :name, :data, :slaves]
|
52
|
+
).to_json.should == json_data
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'returns all field with slaves' do
|
56
|
+
json_data = { master: { id: 1, name: 'Object1', data: '123',
|
57
|
+
slaves: [
|
58
|
+
{ slave: { id: 1, name: 'Slave 1', data: nil } },
|
59
|
+
{ slave: { id: 2, name: 'Slave 2', data: nil } },
|
60
|
+
]}}.to_json
|
61
|
+
|
62
|
+
@object.serialize(
|
63
|
+
add_metadata: false,
|
64
|
+
fields: [:id, :name, :data, :slaves]
|
65
|
+
).should == json_data
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
context 'with API version' do
|
71
|
+
context '#to_json' do
|
72
|
+
it 'returns all fields with metadata' do
|
73
|
+
json_data = {
|
74
|
+
master: { id: 1, name: 'Object1', data: '123' },
|
75
|
+
_metadata: { metadata: :present }
|
76
|
+
}.to_json
|
77
|
+
|
78
|
+
V1::MasterSerializer.new(@object,
|
79
|
+
add_metadata: true,
|
80
|
+
fields: [:id, :name, :data],
|
81
|
+
api_version: 'V1'
|
82
|
+
).to_json.should == json_data
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'returns not all field, whithout metadata' do
|
86
|
+
json_data = { master: { id: 1, name: 'Object1' } }.to_json
|
87
|
+
|
88
|
+
V1::MasterSerializer.new(@object,
|
89
|
+
add_metadata: false,
|
90
|
+
fields: [:id, :name],
|
91
|
+
api_version: 'V1'
|
92
|
+
).to_json.should == json_data
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'returns all field with slaves' do
|
96
|
+
json_data = { master: { id: 1, name: 'Object1', data: '123',
|
97
|
+
slaves: [
|
98
|
+
{ slave: { id: 1, name: 'Slave 1', data: nil, updated_at: '2014-04-14' } },
|
99
|
+
{ slave: { id: 2, name: 'Slave 2', data: nil, updated_at: '2014-04-14' } },
|
100
|
+
]}}.to_json
|
101
|
+
|
102
|
+
V1::MasterSerializer.new(@object,
|
103
|
+
add_metadata: false,
|
104
|
+
fields: [:id, :name, :data, :slaves],
|
105
|
+
api_version: 'V1'
|
106
|
+
).to_json.should == json_data
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Fars::BaseObjectSerializer do
|
4
|
+
before(:all) { Book = Struct.new(:isbn, :title, :author, :price, :count) }
|
5
|
+
let(:book) { Book.new('isbn1', 'title1', 'author1', 10, nil) }
|
6
|
+
let(:book2) { Book.new('isbn2', 'title2', 'author2', 20.0, 4) }
|
7
|
+
let(:book3) { Book.new('isbn3', 'title3', 'author3', 30.5, 7) }
|
8
|
+
let(:books) { [book, book2, book3] }
|
9
|
+
|
10
|
+
it 'serializes any object with appropriate serializer' do
|
11
|
+
BookSerializer.new(book).as_json.should ==
|
12
|
+
{ book: { isbn: 'isbn1', title: 'title1', author: 'author1', price: '10.00', count: 0 } }
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'includes only requested fields' do
|
16
|
+
BookSerializer.new(book, fields: [:isbn, :title, :price]).as_json.should ==
|
17
|
+
{ book: { isbn: 'isbn1', title: 'title1', price: '10.00' } }
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'includes only requested fields reduced by #available_attributes methods' do
|
21
|
+
book_serializer = BookSerializer.new(book, fields: [:isbn, :title, :price])
|
22
|
+
def book_serializer.available_attributes
|
23
|
+
[:isbn, :price]
|
24
|
+
end
|
25
|
+
book_serializer.as_json.should == { book: { isbn: 'isbn1', price: '10.00' } }
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'serializes collection which consists of objects of same tipe with appropriate serializer' do
|
29
|
+
books.serialize(root_key: :books, serializer: 'BookSerializer', fields: [:isbn, :title, :price]).should =={ books: [
|
30
|
+
{ book: { isbn: 'isbn1', title: 'title1', price: '10.00' } },
|
31
|
+
{ book: { isbn: 'isbn2', title: 'title2', price: '20.00' } },
|
32
|
+
{ book: { isbn: 'isbn3', title: 'title3', price: '30.50' } }
|
33
|
+
] }.to_json
|
34
|
+
end
|
35
|
+
end
|
data/spec/hash_spec.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Hash#serialize' do
|
4
|
+
subject do
|
5
|
+
{ '2014-01' => { visitors: 23, visits: 114 }, '2014-02' => { visitors: 27, visits: 217 } }
|
6
|
+
end
|
7
|
+
|
8
|
+
specify 'with proc as item serializer' do
|
9
|
+
json_data = { stats: [{ month: '2014-01', visitors: 23 }, { month: '2014-02', visitors: 27 }] }.to_json
|
10
|
+
|
11
|
+
subject.serialize(root_key: :stats,
|
12
|
+
serializer: Proc.new { |k, v| { month: k, visitors: v[:visitors] } }).should == json_data
|
13
|
+
end
|
14
|
+
|
15
|
+
specify 'with block as item serializer' do
|
16
|
+
json_data = { stats: [{ month: '2014-01', visitors: 23 }, { month: '2014-02', visitors: 27 }] }.to_json
|
17
|
+
|
18
|
+
subject.serialize(root_key: :stats) do |k, v|
|
19
|
+
{ month: k, visitors: v[:visitors] }
|
20
|
+
end.should == json_data
|
21
|
+
end
|
22
|
+
|
23
|
+
specify 'custom class as item serializer' do
|
24
|
+
json_data = { stats: [{ stat_key: '2014-01', stat_value: { visitors: 23, visits: 114 } },
|
25
|
+
{ stat_key: '2014-02', stat_value: { visitors: 27, visits: 217 } }] }.to_json
|
26
|
+
|
27
|
+
subject.serialize(root_key: :stats, serializer: 'StatSerializer').should == json_data
|
28
|
+
end
|
29
|
+
|
30
|
+
specify 'with custom class as item serializer and without root_key' do
|
31
|
+
json_data = [{ stat_key: '2014-01', stat_value: { visitors: 23, visits: 114 } },
|
32
|
+
{ stat_key: '2014-02', stat_value: { visitors: 27, visits: 217 } }].to_json
|
33
|
+
|
34
|
+
subject.serialize(root_key: false, serializer: 'StatSerializer').should == json_data
|
35
|
+
end
|
36
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -32,3 +32,9 @@ end
|
|
32
32
|
root = File.dirname(__FILE__)
|
33
33
|
db_config = YAML.load_file("#{root}/config/database.yml")
|
34
34
|
ActiveRecord::Base.establish_connection(db_config)
|
35
|
+
|
36
|
+
Dir["./spec/support/**/*.rb"].each { |f| require f }
|
37
|
+
|
38
|
+
ActiveSupport::Inflector.inflections do |inflect|
|
39
|
+
inflect.irregular 'slave', 'slaves'
|
40
|
+
end
|
data/spec/tasks/db_setup.rake
CHANGED
@@ -14,7 +14,7 @@ namespace :spec do
|
|
14
14
|
task :migrate do
|
15
15
|
ActiveRecord::Base.establish_connection(db_config)
|
16
16
|
|
17
|
-
ActiveRecord::Base.connection.execute(
|
17
|
+
ActiveRecord::Base.connection.execute(<<-SQL
|
18
18
|
DROP TABLE IF EXISTS "public"."masters";
|
19
19
|
|
20
20
|
CREATE TABLE "public"."masters" (
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fars
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Denyago
|
@@ -10,12 +9,11 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2014-
|
12
|
+
date: 2014-05-05 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: activerecord
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
18
|
- - ! '>='
|
21
19
|
- !ruby/object:Gem::Version
|
@@ -23,7 +21,6 @@ dependencies:
|
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
25
|
- - ! '>='
|
29
26
|
- !ruby/object:Gem::Version
|
@@ -31,7 +28,6 @@ dependencies:
|
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: rspec
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
32
|
- - ! '>='
|
37
33
|
- !ruby/object:Gem::Version
|
@@ -39,7 +35,6 @@ dependencies:
|
|
39
35
|
type: :development
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
39
|
- - ! '>='
|
45
40
|
- !ruby/object:Gem::Version
|
@@ -47,7 +42,6 @@ dependencies:
|
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: rake
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
46
|
- - ! '>='
|
53
47
|
- !ruby/object:Gem::Version
|
@@ -55,7 +49,6 @@ dependencies:
|
|
55
49
|
type: :development
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
53
|
- - ! '>='
|
61
54
|
- !ruby/object:Gem::Version
|
@@ -63,7 +56,6 @@ dependencies:
|
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: shoulda
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
60
|
- - ! '>='
|
69
61
|
- !ruby/object:Gem::Version
|
@@ -71,7 +63,6 @@ dependencies:
|
|
71
63
|
type: :development
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
67
|
- - ! '>='
|
77
68
|
- !ruby/object:Gem::Version
|
@@ -79,7 +70,6 @@ dependencies:
|
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: pg
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
74
|
- - ! '>='
|
85
75
|
- !ruby/object:Gem::Version
|
@@ -87,7 +77,6 @@ dependencies:
|
|
87
77
|
type: :development
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
81
|
- - ! '>='
|
93
82
|
- !ruby/object:Gem::Version
|
@@ -95,7 +84,6 @@ dependencies:
|
|
95
84
|
- !ruby/object:Gem::Dependency
|
96
85
|
name: database_cleaner
|
97
86
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
87
|
requirements:
|
100
88
|
- - ! '>='
|
101
89
|
- !ruby/object:Gem::Version
|
@@ -103,7 +91,6 @@ dependencies:
|
|
103
91
|
type: :development
|
104
92
|
prerelease: false
|
105
93
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
94
|
requirements:
|
108
95
|
- - ! '>='
|
109
96
|
- !ruby/object:Gem::Version
|
@@ -125,39 +112,71 @@ files:
|
|
125
112
|
- lib/fars.rb
|
126
113
|
- lib/fars/base_collection_serializer.rb
|
127
114
|
- lib/fars/base_model_serializer.rb
|
115
|
+
- lib/fars/base_object_serializer.rb
|
116
|
+
- lib/fars/model_serializable.rb
|
117
|
+
- lib/fars/relation_serializable.rb
|
128
118
|
- lib/fars/version.rb
|
119
|
+
- spec/active_record/base_spec.rb
|
120
|
+
- spec/active_record/relation_spec.rb
|
121
|
+
- spec/array_spec.rb
|
129
122
|
- spec/config/database.example.yml
|
130
|
-
- spec/fars/
|
131
|
-
- spec/fars/
|
123
|
+
- spec/fars/base_collection_serializer_spec.rb
|
124
|
+
- spec/fars/base_model_serializer_spec.rb
|
125
|
+
- spec/fars/base_object_serializer_spec.rb
|
126
|
+
- spec/hash_spec.rb
|
132
127
|
- spec/spec_helper.rb
|
128
|
+
- spec/support/models/master.rb
|
129
|
+
- spec/support/models/slave.rb
|
130
|
+
- spec/support/serializers/another_master_serialiser.rb
|
131
|
+
- spec/support/serializers/book_serializer.rb
|
132
|
+
- spec/support/serializers/color_serializer.rb
|
133
|
+
- spec/support/serializers/master_serializer.rb
|
134
|
+
- spec/support/serializers/slave_serializer.rb
|
135
|
+
- spec/support/serializers/stat_serializer.rb
|
136
|
+
- spec/support/serializers/v1/master_serializer.rb
|
137
|
+
- spec/support/serializers/v1/slave_serializer.rb
|
133
138
|
- spec/tasks/db_setup.rake
|
134
139
|
homepage: https://github.com/Lightpower/fars
|
135
140
|
licenses: []
|
141
|
+
metadata: {}
|
136
142
|
post_install_message:
|
137
143
|
rdoc_options: []
|
138
144
|
require_paths:
|
139
145
|
- lib
|
140
146
|
required_ruby_version: !ruby/object:Gem::Requirement
|
141
|
-
none: false
|
142
147
|
requirements:
|
143
148
|
- - ! '>='
|
144
149
|
- !ruby/object:Gem::Version
|
145
150
|
version: '0'
|
146
151
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
-
none: false
|
148
152
|
requirements:
|
149
153
|
- - ! '>='
|
150
154
|
- !ruby/object:Gem::Version
|
151
155
|
version: '0'
|
152
156
|
requirements: []
|
153
157
|
rubyforge_project:
|
154
|
-
rubygems_version:
|
158
|
+
rubygems_version: 2.2.2
|
155
159
|
signing_key:
|
156
|
-
specification_version:
|
160
|
+
specification_version: 4
|
157
161
|
summary: Gem provedes classes for fast serialisation of ActiveRecord relations.
|
158
162
|
test_files:
|
163
|
+
- spec/active_record/base_spec.rb
|
164
|
+
- spec/active_record/relation_spec.rb
|
165
|
+
- spec/array_spec.rb
|
159
166
|
- spec/config/database.example.yml
|
160
|
-
- spec/fars/
|
161
|
-
- spec/fars/
|
167
|
+
- spec/fars/base_collection_serializer_spec.rb
|
168
|
+
- spec/fars/base_model_serializer_spec.rb
|
169
|
+
- spec/fars/base_object_serializer_spec.rb
|
170
|
+
- spec/hash_spec.rb
|
162
171
|
- spec/spec_helper.rb
|
172
|
+
- spec/support/models/master.rb
|
173
|
+
- spec/support/models/slave.rb
|
174
|
+
- spec/support/serializers/another_master_serialiser.rb
|
175
|
+
- spec/support/serializers/book_serializer.rb
|
176
|
+
- spec/support/serializers/color_serializer.rb
|
177
|
+
- spec/support/serializers/master_serializer.rb
|
178
|
+
- spec/support/serializers/slave_serializer.rb
|
179
|
+
- spec/support/serializers/stat_serializer.rb
|
180
|
+
- spec/support/serializers/v1/master_serializer.rb
|
181
|
+
- spec/support/serializers/v1/slave_serializer.rb
|
163
182
|
- spec/tasks/db_setup.rake
|