José Valim
62484e758c
Merge pull request #95 from twinturbo/set-serializer
...
Close #90
2012-07-21 00:37:31 -07:00
twinturbo
6f3b250dc9
Don't include empty polymoprhic associations
...
Take this serializer:
class TodoSerializer < ActiveModel::Serializer
root :todo, :include => true
has_one :reference, :polymorphic => true
end
A nil reference would generate this JSON:
{
"todo": { "reference": null },
"nil_classes": []
}
This commit prevents the `nil_classes` key from being added when
serializing and including nil polymoprhic associations.
2012-07-16 15:08:01 +02:00
twinturbo
486d282922
Raise error when associations cannot be included
...
include! only works when the source serializer has a root set. The
as_json method sets up some state for the include! method. If a child
association has associations with `:include => true` or `root foo,
:include => true` would cause an undefined method error for `NilClass`.
This is entirely unhelpful for the end user.
This commit raise an error when this situation occurs. It makes it clear
that it's not a problem with AMS but the serialization graph.
2012-07-16 14:18:58 +02:00
twinturbo
5111615ac1
Actually test set serialization
2012-07-15 13:42:29 +02:00
Bradley Priest
f85c624d02
Fix travis
2012-07-15 18:50:47 +08:00
twinturbo
7072e79787
Close #90
2012-07-15 12:18:41 +02:00
twinturbo
cbd7d7d385
Add test for nested included polymoprhic associations
2012-07-15 11:49:36 +02:00
twinturbo
c4e5cd547b
Add test for complex polymorphic associations
2012-07-15 11:49:36 +02:00
twinturbo
9f20fe8b36
Test passes
2012-07-15 11:49:36 +02:00
twinturbo
3ca1621011
Add failing test for polymorphic with include
2012-07-15 11:49:36 +02:00
twinturbo
7e96856b87
Support serialize polymorphic id
2012-07-15 11:49:36 +02:00
twinturbo
32f8779114
Basic rooted polymorphism
2012-07-15 11:49:36 +02:00
José Valim
56824f055b
Update master
2012-07-14 18:17:36 +03:00
twinturbo
7936e3efba
Add "scope" method
2012-07-14 14:54:23 +02:00
José Valim
3e87c6414d
Merge pull request #92 from twinturbo/query-attributes
...
Close #86
2012-07-14 04:16:07 -07:00
twinturbo
2b9cd97436
Close #86
2012-07-14 13:12:26 +02:00
José Valim
d6a68ed14f
Merge pull request #85 from pushcx/master
...
Allow setting :each_serializer in 'render :json' calls
2012-07-14 04:05:40 -07:00
Bradley Priest
7eb2b90b7c
Automatically include ArraySerializer in ActiveRecord::Relation
...
fixes #81
2012-07-10 10:17:54 +08:00
Peter Harkins
1c820a9ba7
Allow setting the serializer for ArraySerializer.
2012-06-21 11:12:13 -05:00
Tee Parham
c898e3daf9
remove unncessary is_a?(Hash) check
2012-06-12 10:38:32 -07:00
Andy Lindeman
47850677e9
Allows serialization_scope to be disabled with serialization_scope nil
2012-06-05 12:37:09 -04:00
Yehuda Katz
7afac9cd5c
Fix the tests
2012-06-05 10:18:05 +02:00
Yehuda Katz
6e2554d741
Merge pull request #62 from highgroove/cleanup_scope_instance_variables
...
Remove left over references to scope instance variable
2012-06-05 00:32:23 -07:00
Yehuda Katz
3cb74887df
Merge pull request #65 from teeparham/array-root
...
use :root option in render :json
2012-06-05 00:31:13 -07:00
Tee Parham
f35a2261d2
support different serializations in ArraySerializer
...
ArraySerializer can serialize arrays of Hash, ActiveModel::Serializer,
or any PORO that responds to :as_json
Each item in the array should not include its type as a root element,
since normal arrays do not do this. If you want "typed" collections,
don't use an Array.
2012-05-30 14:52:52 -06:00
Tee Parham
00db4dd6db
rename test methods so tests run
...
incidentally test_array_serializer_with_root fails
2012-05-30 11:14:49 -06:00
Tee Parham
9962069ae9
delete identical test
2012-05-30 10:55:35 -06:00
Tee Parham
dd00e218b1
use :root option in render :json
...
ArraySerializer can now render arrays with no root
2012-05-18 12:45:43 -06:00
José Valim
5beecd5947
Fix the build on 1.8.7 :trollface:
2012-05-17 19:28:15 +02:00
José Valim
37d894f94e
Fix build the correct way, ensure new apps work, closes #63
2012-05-17 19:18:01 +02:00
vanstee
81fddb55d3
Remove left over references to scope instance variable
2012-05-16 22:54:26 -04:00
Yehuda Katz
56b61b1532
Add URL to serializers ( closes #61 )
...
Thanks so much to @vanstee for the initial
implementation!
2012-05-16 18:35:30 -07:00
Yehuda Katz
5f4f6a3483
Merged on_load
2012-05-16 18:17:21 -07:00
Yehuda Katz
0f1ec7a3cf
Add support for customizing fields
2012-05-16 18:13:59 -07:00
James A. Rosen
4c17a22207
add ActiveSupport.on_load announcement
2012-05-16 15:31:32 -07:00
tomhuda
33d4842dcd
Prep for 0.5.0
2012-05-16 14:17:10 -07:00
ctide
f17e4cde39
Add a :root option to associations, which enables you to define what the root level key will be for the associated objects.
2012-02-22 19:35:10 -08:00
Carl Lerche
4e8a2af1ec
Allow passing in the serializer class from the render method
2012-01-20 12:17:37 -08:00
Yehuda Katz
55647286da
Make it possible to supply default serializer
...
options in a controller.
2012-01-11 21:30:10 -07:00
Yehuda Katz
671fc14888
remove scope as a separate concept and pass it in
...
as an option.
2012-01-11 21:16:02 -07:00
Yehuda Katz
4ad9c64e46
Allow serializers to receive instructions to
...
explicitly include or exclude specific lists of
associations.
2012-01-11 20:56:36 -07:00
Yehuda Katz
cb316b00f7
Write more tests
2012-01-11 20:28:07 -07:00
Yehuda Katz
2bae9363c7
Test custom embed options per association
2012-01-11 20:21:29 -07:00
Yehuda Katz
d2c88c9dd2
Clean up pending tests
2012-01-11 20:09:28 -07:00
Yehuda Katz
d42634a1d2
Remove dead code.
2012-01-11 15:54:41 -07:00
Yehuda Katz
b22eebf569
More refactoring:
...
* Changed associations to be classes
* remove @hash and always use @options[:hash]
* pass serializer options down to child serializers
2012-01-11 15:28:49 -07:00
Yehuda Katz
89103f1e74
Test that has_one works.
2012-01-11 13:07:43 -07:00
Yehuda Katz
72b8213bee
If an existing association exists, use it to
...
get the value if none was provided.
2012-01-11 13:06:19 -07:00
Yehuda Katz
dd0b56c748
HasOne associations work
2012-01-11 12:26:49 -07:00
Yehuda Katz
f9d0259340
Start cleaning up serializers to support
...
include/exclude functionality.
This process involves building a few lower-level
primitives so not as much logic is hardcoded in
monolithic helper methods.
2012-01-11 12:18:18 -07:00