active_model_serializers 0.8.3 → 0.9.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.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -5
  3. data/CONTRIBUTING.md +20 -0
  4. data/DESIGN.textile +4 -4
  5. data/{MIT-LICENSE.txt → MIT-LICENSE} +0 -0
  6. data/README.md +307 -99
  7. data/lib/action_controller/serialization.rb +35 -16
  8. data/lib/action_controller/serialization_test_case.rb +79 -0
  9. data/lib/active_model/array_serializer.rb +40 -79
  10. data/lib/active_model/default_serializer.rb +32 -0
  11. data/lib/active_model/serializable.rb +40 -0
  12. data/lib/active_model/serializer/associations.rb +71 -202
  13. data/lib/active_model/serializer/config.rb +31 -0
  14. data/lib/active_model/serializer/generators/resource_override.rb +13 -0
  15. data/lib/{generators → active_model/serializer/generators}/serializer/USAGE +0 -0
  16. data/lib/active_model/serializer/generators/serializer/scaffold_controller_generator.rb +14 -0
  17. data/lib/active_model/serializer/generators/serializer/serializer_generator.rb +37 -0
  18. data/lib/active_model/serializer/generators/serializer/templates/controller.rb +93 -0
  19. data/lib/active_model/serializer/generators/serializer/templates/serializer.rb +8 -0
  20. data/lib/active_model/serializer/railtie.rb +10 -0
  21. data/lib/active_model/{serializers → serializer}/version.rb +1 -1
  22. data/lib/active_model/serializer.rb +186 -433
  23. data/lib/active_model/serializer_support.rb +5 -0
  24. data/lib/active_model_serializers.rb +13 -88
  25. data/test/fixtures/active_record.rb +92 -0
  26. data/test/fixtures/poro.rb +75 -0
  27. data/test/integration/action_controller/serialization_test.rb +287 -0
  28. data/test/integration/action_controller/serialization_test_case_test.rb +61 -0
  29. data/test/integration/active_record/active_record_test.rb +77 -0
  30. data/test/integration/generators/resource_generator_test.rb +26 -0
  31. data/test/integration/generators/scaffold_controller_generator_test.rb +64 -0
  32. data/test/integration/generators/serializer_generator_test.rb +41 -0
  33. data/test/test_app.rb +11 -0
  34. data/test/test_helper.rb +10 -18
  35. data/test/tmp/app/serializers/account_serializer.rb +3 -0
  36. data/test/unit/active_model/array_serializer/except_test.rb +18 -0
  37. data/test/unit/active_model/array_serializer/key_format_test.rb +18 -0
  38. data/test/unit/active_model/array_serializer/meta_test.rb +53 -0
  39. data/test/unit/active_model/array_serializer/only_test.rb +18 -0
  40. data/test/unit/active_model/array_serializer/root_test.rb +102 -0
  41. data/test/unit/active_model/array_serializer/scope_test.rb +24 -0
  42. data/test/unit/active_model/array_serializer/serialization_test.rb +199 -0
  43. data/test/unit/active_model/default_serializer_test.rb +13 -0
  44. data/test/unit/active_model/serializer/associations/build_serializer_test.rb +21 -0
  45. data/test/unit/active_model/serializer/associations_test.rb +19 -0
  46. data/test/unit/active_model/serializer/attributes_test.rb +41 -0
  47. data/test/unit/active_model/serializer/config_test.rb +88 -0
  48. data/test/unit/active_model/serializer/filter_test.rb +69 -0
  49. data/test/unit/active_model/serializer/has_many_test.rb +230 -0
  50. data/test/unit/active_model/serializer/has_one_test.rb +207 -0
  51. data/test/unit/active_model/serializer/key_format_test.rb +25 -0
  52. data/test/unit/active_model/serializer/meta_test.rb +39 -0
  53. data/test/unit/active_model/serializer/options_test.rb +15 -0
  54. data/test/unit/active_model/serializer/root_test.rb +117 -0
  55. data/test/unit/active_model/serializer/scope_test.rb +49 -0
  56. metadata +88 -62
  57. data/.gitignore +0 -18
  58. data/.travis.yml +0 -28
  59. data/Gemfile +0 -4
  60. data/Gemfile.edge +0 -9
  61. data/Rakefile +0 -18
  62. data/active_model_serializers.gemspec +0 -24
  63. data/bench/perf.rb +0 -43
  64. data/cruft.md +0 -19
  65. data/lib/active_record/serializer_override.rb +0 -16
  66. data/lib/generators/resource_override.rb +0 -13
  67. data/lib/generators/serializer/serializer_generator.rb +0 -42
  68. data/lib/generators/serializer/templates/serializer.rb +0 -19
  69. data/test/array_serializer_test.rb +0 -75
  70. data/test/association_test.rb +0 -592
  71. data/test/caching_test.rb +0 -96
  72. data/test/generators_test.rb +0 -85
  73. data/test/no_serialization_scope_test.rb +0 -34
  74. data/test/serialization_scope_name_test.rb +0 -67
  75. data/test/serialization_test.rb +0 -392
  76. data/test/serializer_support_test.rb +0 -51
  77. data/test/serializer_test.rb +0 -1465
  78. data/test/test_fakes.rb +0 -217
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94274a9d3a573ae8f656719aef33825cabb68673
4
- data.tar.gz: b1d614a90149ec109b67e963464c232d0b5ed3f1
3
+ metadata.gz: d9a74f3f7f7116d91ae865c6f1ebff4a803181fc
4
+ data.tar.gz: 660cbc5ba7cd25125bdd8e50875b03c726b3c75a
5
5
  SHA512:
6
- metadata.gz: cc3140d1676014d8ce4aa0add253d247c55652a689cb83e7f7f7a71a81ae8d7c601fc5e2d261d415e243857a479a15156d0a84a67beb1c72475ef51c063cdfca
7
- data.tar.gz: cfc92ac9bb7dfca07cebdd32ef4a120aa5784cc7f1a6bfc8a65900b553be736b174b6bbf22fb7ebd55e8295ea1d118373245396e3c0ac883e954ab27e925bca2
6
+ metadata.gz: ef6c3b8ae2e948ffc77ffbf16823e6a13cb9d94410423be2a2469cbb75fd936b6b116d51bac5b4ce509603ec2021b3d494c9b675ce4a002ad596c8b55d2251c7
7
+ data.tar.gz: a54bd156271f4434d949dbf225775d9e9883a3362acda92227630d9045e639d321f188a3de23a5fad6390855f42929256d76808927e8a30051354ad7840f94b4
data/CHANGELOG.md CHANGED
@@ -1,4 +1,24 @@
1
- # UNRELEASED
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.
2
22
 
3
23
  # VERSION 0.8.1
4
24
 
@@ -10,13 +30,13 @@
10
30
 
11
31
  * A new DefaultSerializer ensures that POROs behave the same way as ActiveModels.
12
32
 
13
- * If you wish to override ActiveRecord::Base#to_Json, you can now require
14
- 'active_record/serializer_override'. We don't recommend you do this, but
33
+ * If you wish to override ActiveRecord::Base#to\_Json, you can now require
34
+ 'active\_record/serializer\_override'. We don't recommend you do this, but
15
35
  many users do, so we've left it optional.
16
36
 
17
37
  * Fixed a bug where ActionController wouldn't always have MimeResponds.
18
38
 
19
- * An optinal caching feature allows you to cache JSON & hashes that AMS uses.
39
+ * An optional caching feature allows you to cache JSON & hashes that AMS uses.
20
40
  Adding 'cached true' to your Serializers will turn on this cache.
21
41
 
22
42
  * URL helpers used inside of Engines now work properly.
@@ -61,7 +81,7 @@
61
81
  * Allow serialization_scope to be disabled with serialization_scope nil
62
82
  * Array serializer should support pure ruby objects besides serializers
63
83
 
64
- # VERSION 0.5.0 (May 16, 2012)
84
+ # VERSION 0.5.0
65
85
 
66
86
  * First tagged version
67
87
  * 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, :key => :posts
362
- has_one :owned_account, :key => :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, :key => :posts, :serializer => CustomPostSerializer
374
- has_one :owne_account, :key => :account, :serializer => PrivateAccountSerializer
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