active_model_serializers 0.8.3 → 0.9.1
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 +4 -4
- data/CHANGELOG.md +31 -5
- data/CONTRIBUTING.md +20 -0
- data/DESIGN.textile +4 -4
- data/{MIT-LICENSE.txt → MIT-LICENSE} +0 -0
- data/README.md +395 -95
- data/lib/action_controller/serialization.rb +50 -12
- data/lib/action_controller/serialization_test_case.rb +79 -0
- data/lib/active_model/array_serializer.rb +46 -78
- data/lib/active_model/default_serializer.rb +32 -0
- data/lib/active_model/serializable/utils.rb +16 -0
- data/lib/active_model/serializable.rb +62 -0
- data/lib/active_model/serializer/association/has_many.rb +39 -0
- data/lib/active_model/serializer/association/has_one.rb +25 -0
- data/lib/active_model/serializer/association.rb +58 -0
- data/lib/active_model/serializer/config.rb +31 -0
- data/lib/active_model/serializer/generators/resource_override.rb +13 -0
- data/lib/{generators → active_model/serializer/generators}/serializer/USAGE +0 -0
- data/lib/active_model/serializer/generators/serializer/scaffold_controller_generator.rb +14 -0
- data/lib/active_model/serializer/generators/serializer/serializer_generator.rb +37 -0
- data/lib/active_model/serializer/generators/serializer/templates/controller.rb +93 -0
- data/lib/active_model/serializer/generators/serializer/templates/serializer.rb +8 -0
- data/lib/active_model/serializer/railtie.rb +18 -0
- data/lib/active_model/{serializers → serializer}/version.rb +1 -1
- data/lib/active_model/serializer.rb +209 -422
- data/lib/active_model/serializer_support.rb +5 -0
- data/lib/active_model_serializers.rb +12 -87
- data/test/fixtures/active_record.rb +92 -0
- data/test/fixtures/poro.rb +184 -0
- data/test/fixtures/template.html.erb +1 -0
- data/test/integration/action_controller/namespaced_serialization_test.rb +96 -0
- data/test/integration/action_controller/serialization_test.rb +303 -0
- data/test/integration/action_controller/serialization_test_case_test.rb +71 -0
- data/test/integration/active_record/active_record_test.rb +77 -0
- data/test/integration/generators/resource_generator_test.rb +26 -0
- data/test/integration/generators/scaffold_controller_generator_test.rb +64 -0
- data/test/integration/generators/serializer_generator_test.rb +41 -0
- data/test/test_app.rb +14 -0
- data/test/test_helper.rb +10 -18
- data/test/tmp/app/serializers/account_serializer.rb +3 -0
- data/test/unit/active_model/array_serializer/except_test.rb +18 -0
- data/test/unit/active_model/array_serializer/key_format_test.rb +18 -0
- data/test/unit/active_model/array_serializer/meta_test.rb +53 -0
- data/test/unit/active_model/array_serializer/only_test.rb +18 -0
- data/test/unit/active_model/array_serializer/root_test.rb +102 -0
- data/test/unit/active_model/array_serializer/scope_test.rb +24 -0
- data/test/unit/active_model/array_serializer/serialization_test.rb +199 -0
- data/test/unit/active_model/default_serializer_test.rb +13 -0
- data/test/unit/active_model/serializer/associations/build_serializer_test.rb +36 -0
- data/test/unit/active_model/serializer/associations_test.rb +19 -0
- data/test/unit/active_model/serializer/attributes_test.rb +57 -0
- data/test/unit/active_model/serializer/config_test.rb +91 -0
- data/test/unit/active_model/serializer/filter_test.rb +69 -0
- data/test/unit/active_model/serializer/has_many_polymorphic_test.rb +189 -0
- data/test/unit/active_model/serializer/has_many_test.rb +265 -0
- data/test/unit/active_model/serializer/has_one_and_has_many_test.rb +27 -0
- data/test/unit/active_model/serializer/has_one_polymorphic_test.rb +196 -0
- data/test/unit/active_model/serializer/has_one_test.rb +239 -0
- data/test/unit/active_model/serializer/key_format_test.rb +25 -0
- data/test/unit/active_model/serializer/meta_test.rb +39 -0
- data/test/unit/active_model/serializer/options_test.rb +34 -0
- data/test/unit/active_model/serializer/root_test.rb +117 -0
- data/test/unit/active_model/serializer/scope_test.rb +49 -0
- data/test/unit/active_model/serializer/url_helpers_test.rb +35 -0
- metadata +104 -63
- data/.gitignore +0 -18
- data/.travis.yml +0 -28
- data/Gemfile +0 -4
- data/Gemfile.edge +0 -9
- data/Rakefile +0 -18
- data/active_model_serializers.gemspec +0 -24
- data/bench/perf.rb +0 -43
- data/cruft.md +0 -19
- data/lib/active_model/serializer/associations.rb +0 -233
- data/lib/active_record/serializer_override.rb +0 -16
- data/lib/generators/resource_override.rb +0 -13
- data/lib/generators/serializer/serializer_generator.rb +0 -42
- data/lib/generators/serializer/templates/serializer.rb +0 -19
- data/test/array_serializer_test.rb +0 -75
- data/test/association_test.rb +0 -592
- data/test/caching_test.rb +0 -96
- data/test/generators_test.rb +0 -85
- data/test/no_serialization_scope_test.rb +0 -34
- data/test/serialization_scope_name_test.rb +0 -67
- data/test/serialization_test.rb +0 -392
- data/test/serializer_support_test.rb +0 -51
- data/test/serializer_test.rb +0 -1465
- data/test/test_fakes.rb +0 -217
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71be6d0e61baa4efeb910bd0d063dca70cef1172
|
4
|
+
data.tar.gz: 0a462ca58f799f3a52a2bc9207a510644eb6bf9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13b2dfe87f088d7a3373cba201fa3b4712c26fac49e0b2274941872be29648fda607161bee2633c047d55eae18f234170b944c6948f75f306c62d400c61d660a
|
7
|
+
data.tar.gz: 46602b4f0d64f25b5932176251d4f473b3696ed71f11fb7e5c3d8a5874499010324d84e3a052d6f08cfa8a24b3f4c3c3ad427319b5a3fd5b020211de5859394e
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,30 @@
|
|
1
|
-
#
|
1
|
+
# VERSION 0.9.0.pre
|
2
|
+
|
3
|
+
* The following methods were removed
|
4
|
+
- Model#active\_model\_serializer
|
5
|
+
- Serializer#include!
|
6
|
+
- Serializer#include?
|
7
|
+
- Serializer#attr\_disabled=
|
8
|
+
- Serializer#cache
|
9
|
+
- Serializer#perform\_caching
|
10
|
+
- Serializer#schema (needs more discussion)
|
11
|
+
- Serializer#attribute
|
12
|
+
- Serializer#include\_#{name}? (filter method added)
|
13
|
+
- Serializer#attributes (took a hash)
|
14
|
+
|
15
|
+
* The following things were added
|
16
|
+
- Serializer#filter method
|
17
|
+
- CONFIG object
|
18
|
+
|
19
|
+
* Remove support for ruby 1.8 versions.
|
20
|
+
|
21
|
+
* Require rails >= 3.2.
|
22
|
+
|
23
|
+
* Serializers for associations are being looked up in a parent serializer's namespace first. Same with controllers' namespaces.
|
24
|
+
|
25
|
+
* Added a "prefix" option in case you want to use a different version of serializer.
|
26
|
+
|
27
|
+
* Serializers default namespace can be set in `default_serializer_options` and inherited by associations.
|
2
28
|
|
3
29
|
# VERSION 0.8.1
|
4
30
|
|
@@ -10,13 +36,13 @@
|
|
10
36
|
|
11
37
|
* A new DefaultSerializer ensures that POROs behave the same way as ActiveModels.
|
12
38
|
|
13
|
-
* If you wish to override ActiveRecord::Base#
|
14
|
-
'
|
39
|
+
* If you wish to override ActiveRecord::Base#to\_Json, you can now require
|
40
|
+
'active\_record/serializer\_override'. We don't recommend you do this, but
|
15
41
|
many users do, so we've left it optional.
|
16
42
|
|
17
43
|
* Fixed a bug where ActionController wouldn't always have MimeResponds.
|
18
44
|
|
19
|
-
* An
|
45
|
+
* An optional caching feature allows you to cache JSON & hashes that AMS uses.
|
20
46
|
Adding 'cached true' to your Serializers will turn on this cache.
|
21
47
|
|
22
48
|
* URL helpers used inside of Engines now work properly.
|
@@ -61,7 +87,7 @@
|
|
61
87
|
* Allow serialization_scope to be disabled with serialization_scope nil
|
62
88
|
* Array serializer should support pure ruby objects besides serializers
|
63
89
|
|
64
|
-
# VERSION 0.5.0
|
90
|
+
# VERSION 0.5.0
|
65
91
|
|
66
92
|
* First tagged version
|
67
93
|
* Changes generators to always generate an ApplicationSerializer
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Contributing to AMS
|
2
|
+
===================
|
3
|
+
|
4
|
+
First of all, **thank you**!
|
5
|
+
|
6
|
+
Now, for the details:
|
7
|
+
|
8
|
+
Please file issues on the [GitHub Issues
|
9
|
+
list](https://github.com/rails-api/active_model_serializers/issues).
|
10
|
+
|
11
|
+
Please discuss new features or ask for feedback about a new feature [on
|
12
|
+
rails-api-core](https://groups.google.com/forum/#!forum/rails-api-core).
|
13
|
+
|
14
|
+
If you want a feature implemented, the best way to get it done is to submit a
|
15
|
+
pull request that implements it. Tests and docs would be nice.
|
16
|
+
|
17
|
+
Please include a CHANGELOG with all entries that change behavior.
|
18
|
+
|
19
|
+
:heart: :sparkling_heart: :heart:
|
20
|
+
|
data/DESIGN.textile
CHANGED
@@ -358,8 +358,8 @@ Here is an example:
|
|
358
358
|
|
359
359
|
<pre lang="ruby">
|
360
360
|
class UserSerializer < ActiveModel::Serializer
|
361
|
-
has_many :followed_posts, :
|
362
|
-
has_one :owned_account, :
|
361
|
+
has_many :followed_posts, key: :posts
|
362
|
+
has_one :owned_account, key: :account
|
363
363
|
end
|
364
364
|
</pre>
|
365
365
|
|
@@ -370,8 +370,8 @@ to set it explicitly:
|
|
370
370
|
|
371
371
|
<pre lang="ruby">
|
372
372
|
class UserSerializer < ActiveModel::Serializer
|
373
|
-
has_many :followed_posts, :
|
374
|
-
has_one :owne_account, :
|
373
|
+
has_many :followed_posts, key: :posts, serializer: CustomPostSerializer
|
374
|
+
has_one :owne_account, key: :account, serializer: PrivateAccountSerializer
|
375
375
|
end
|
376
376
|
</pre>
|
377
377
|
|
File without changes
|