Santiago Pastorino
4b91d0e5ec
embed :objects is the default
...
A commit with an integration test that covers this functionality is
coming after this one
2013-10-18 17:49:20 -02:00
Santiago Pastorino
4f70dc2091
has_one serialized objects shouldn't be wrapped in an array and it's key is singular
2013-10-18 17:49:20 -02:00
Santiago Pastorino
dbf512c14c
Make embed nil ids work
2013-10-18 17:49:20 -02:00
Santiago Pastorino
cad8fafa60
Optimize serializer_for for Ruby >= 2.0
2013-10-18 17:49:20 -02:00
Santiago Pastorino
841f3b8181
Add filter to allow users implement filter method to include/exclude attributes and relations
2013-10-18 17:49:20 -02:00
Santiago Pastorino
f6ea07dd22
Do not convert attrs to String until needed
2013-10-18 17:49:20 -02:00
Santiago Pastorino
daa9304398
Do not convert root and meta_key to Strings
2013-10-18 17:49:20 -02:00
Santiago Pastorino
75e9a2599d
Store attributes as they are instead of converting them into Strings
2013-10-18 17:49:20 -02:00
Santiago Pastorino
10e882a14f
Allow to set embed options from AM::Serializer
2013-10-18 17:49:20 -02:00
Santiago Pastorino
aa23e811cc
Use controller name as root when serializing an array and not root is defined
2013-10-18 17:49:20 -02:00
Santiago Pastorino
86b9d5a226
Avoid work inside serializable_array
2013-10-18 17:49:20 -02:00
Santiago Pastorino
8006529e20
Allow ArraySerializer to pass the options down to item serializers
2013-10-18 17:49:19 -02:00
Santiago Pastorino
6f3503c965
Use serializer name as root when root not set
2013-10-18 17:49:19 -02:00
Santiago Pastorino
626a85bc3e
Allow using root = false in initialize
2013-10-18 17:49:19 -02:00
Santiago Pastorino
8462a73f3a
Make render json work when not using AMS
2013-10-18 17:49:19 -02:00
Santiago Pastorino
7405baafd7
Serialize associations that doesn't have an associated serializer
2013-10-18 17:49:19 -02:00
Santiago Pastorino
513e7f2166
Add setup method and Setting object to configure AMS
2013-10-18 17:49:19 -02:00
Santiago Pastorino
29148cbe1c
Add AC::Serialization#serialization_scope as a class level method
2013-10-18 17:49:19 -02:00
Santiago Pastorino
0e0341effc
Implement embed in root
2013-10-18 17:49:19 -02:00
Santiago Pastorino
af34adc7b5
Move key's initialization code to initializers
2013-10-18 17:49:19 -02:00
Santiago Pastorino
280fd65db8
Allow to set key for associations through options
2013-10-18 17:49:19 -02:00
Santiago Pastorino
48590a2e37
Allow to set root for associations through options
2013-10-18 17:49:19 -02:00
Santiago Pastorino
8a495b1d00
Embedded has_one returns an array with the key pluralized
2013-10-18 17:49:19 -02:00
Santiago Pastorino
3fcd8c5f98
Define root and root= as aliases of _root=
2013-10-18 17:49:18 -02:00
Santiago Pastorino
7ba05c02e3
Make Serializable module which implements as_json
2013-10-18 17:49:18 -02:00
Santiago Pastorino
e6993c677b
Add missing requires
2013-10-18 17:49:18 -02:00
Santiago Pastorino
a820e9774f
Add ArraySerializer's root and meta features
2013-10-18 17:49:18 -02:00
Santiago Pastorino
70ea6c6bc7
Add has_one and has_many :serialize => tests
2013-10-18 17:49:18 -02:00
Santiago Pastorino
f647b7ae74
Implement each_serializer
2013-10-18 17:49:18 -02:00
Santiago Pastorino
7e83f0c29d
Implement ArraySerializer
2013-10-18 17:49:18 -02:00
Santiago Pastorino
61a1669a86
Implement has_many
2013-10-18 17:49:18 -02:00
Santiago Pastorino
516f5bdceb
Implement has_one's embed ids include true
2013-10-18 17:49:18 -02:00
Santiago Pastorino
52bb3f6929
Implement has_one's embed objects
2013-10-18 17:49:17 -02:00
Santiago Pastorino
d756ae4a70
Implement has_one's and serialize_ids
2013-10-18 17:49:17 -02:00
Santiago Pastorino
01bc534976
Remove SerializerSupport
2013-10-18 17:49:17 -02:00
Santiago Pastorino
0d4dfb69a9
Fix directories the project is on top level dir
2013-10-18 17:49:17 -02:00
Santiago Pastorino
0c91564101
Remove method redefined warning
2013-10-18 17:49:17 -02:00
Santiago Pastorino
9e75625b1f
Re-order properties
2013-10-18 17:49:17 -02:00
Santiago Pastorino
93baaa96b1
Implement meta and meta_key for AM::Serializer
2013-10-18 17:49:17 -02:00
Santiago Pastorino
af357619c1
Add AMS support to AR objects
2013-10-18 17:49:17 -02:00
Santiago Pastorino
0d3b56e9cf
Implement AC integration
2013-10-18 17:49:17 -02:00
Santiago Pastorino
d41e5ccef7
Implement SerializerSupport class
2013-10-18 17:49:17 -02:00
Santiago Pastorino
b6f9c5ee43
Implement Serializer's scope
2013-10-18 17:49:16 -02:00
Santiago Pastorino
c3f857d1b6
Implement Serializer's root
2013-10-18 17:49:16 -02:00
Santiago Pastorino
7143eb8301
Serialize just attributes
2013-10-18 17:49:16 -02:00
Santiago Pastorino
14f51f2ea9
Remove everything, rewrite of AMS starts here
2013-10-18 17:46:18 -02:00
Tee Parham
31e1dab69f
require rails >= 3.2
...
* remove ancient confusing comment in SerializerGenerator
2013-05-30 15:26:17 -06:00
Tee Parham
74ba9dc76c
upgrade hash syntax
2013-05-30 15:25:06 -06:00
Tee Parham
143e5d9866
do not generate id method (was for 1.8 only)
...
see https://github.com/rails-api/active_model_serializers/issues/127
for original motivation
2013-05-29 19:39:00 -06:00
Santiago Pastorino
c97acfd9ba
Always set a serializer for each item of an Array
...
model.active_model_serializer could return nil so we need to ensure that
if serializer is not setted we set DefaultSerializer to it.
This reverts commit 64ed05c484 .
Fixes #318
2013-05-28 18:13:07 -07:00
Santiago Pastorino
f68003f64d
Merge pull request #313 from geigerzaehler/fix_root
...
Don't wrap array items in root element
2013-05-24 14:49:41 -07:00
Santiago Pastorino
9521e912fe
serialize_ids call methods on the corresponding serializer if defined
2013-05-24 14:09:27 -07:00
Thomas Scholtes
258248d6c0
Don't wrap array items in root element
2013-05-24 10:23:59 +02:00
Santiago Pastorino
ee846f39af
Fix build in 1.8.7
2013-05-22 14:24:22 -07:00
Damian Galarza
bbc3ae44cc
Allow a controller to properly override scope_name
2013-05-21 21:24:50 -04:00
Santiago Pastorino
35608a8550
Move version.rb file to serializer directory
2013-05-21 17:03:09 -07:00
Santiago Pastorino
055f8fe33c
AMS::Associations::Base is now AMS::Association. HasMany and HasOne inherits from it.
2013-05-21 17:03:08 -07:00
Santiago Pastorino
787b7cf24a
Document Associations
2013-05-21 17:03:08 -07:00
Santiago Pastorino
0b6326eb35
Move polymorphic to initialize + reader
2013-05-21 17:03:08 -07:00
Santiago Pastorino
36feb5d44f
Refactor embeddable? method
2013-05-21 17:03:08 -07:00
Santiago Pastorino
bbd3c8b157
Define embeddable? as an alias of object
2013-05-21 17:03:08 -07:00
Santiago Pastorino
e295af2e2b
Move embed methods to initialize and define readers
2013-05-21 17:03:08 -07:00
Santiago Pastorino
cd9e106640
All the attr_readers together
2013-05-21 17:03:08 -07:00
Santiago Pastorino
1c3f14407c
There's no need for target_serializer method
2013-05-21 17:03:08 -07:00
Santiago Pastorino
feaefeeef3
Use name reader
2013-05-21 17:03:08 -07:00
Santiago Pastorino
296970415a
Move key method to the base class
2013-05-21 17:03:08 -07:00
Santiago Pastorino
ecbb8bf6a6
Use == || == instead of include?
2013-05-21 17:03:08 -07:00
Santiago Pastorino
eb5b27de69
Initialize things in the initialize method and define readers
2013-05-21 17:03:08 -07:00
Santiago Pastorino
ea6d712cc8
key method is defined on subclasses
2013-05-21 17:03:07 -07:00
Santiago Pastorino
2dd0090f13
Reorder methods
2013-05-21 17:03:07 -07:00
Santiago Pastorino
0b648fceac
Use private instead of protected, we don't use explicit receivers
2013-05-21 17:03:07 -07:00
Santiago Pastorino
f9e189e9d7
Rename associated_object to object
2013-05-21 17:03:07 -07:00
Santiago Pastorino
85bf3d2f3d
Move duplicated code to the Base class
2013-05-21 17:03:07 -07:00
Santiago Pastorino
03669a74bc
Associations::Config is now Associations::Base
2013-05-21 17:03:07 -07:00
Santiago Pastorino
2b22acff53
Use the readers instead of accessing the ivar directly
2013-05-21 17:03:07 -07:00
Santiago Pastorino
251fdc7ba4
Rename opts to klass_options
2013-05-21 17:03:07 -07:00
Santiago Pastorino
0b9f69529f
Add default_embed_options
2013-05-21 17:03:07 -07:00
Santiago Pastorino
e273a2fb37
Use a third argument to pass serializer_options
2013-05-21 17:03:07 -07:00
Santiago Pastorino
c04d452823
Associations doesn't depend on the source serializer anymore :)
2013-05-21 17:03:07 -07:00
Santiago Pastorino
c1e710aae1
Save result of calling associated_object in a local var
2013-05-21 17:03:06 -07:00
Santiago Pastorino
baa690a01a
Move if object to the top
2013-05-21 17:03:06 -07:00
Santiago Pastorino
0917148617
serialize_ids doesn't use source serializer and it's object
2013-05-21 17:03:06 -07:00
Santiago Pastorino
9f5e872621
Extract id_key to a method
2013-05-21 17:03:06 -07:00
Santiago Pastorino
a41de0286f
Passing options[:hash] is not public API of include!
2013-05-21 17:03:06 -07:00
Santiago Pastorino
ea3566955c
Remove option method just use the reader
2013-05-21 17:03:06 -07:00
Santiago Pastorino
5017fb686a
Associations doesn't depend on source serializer anymore
2013-05-21 17:03:06 -07:00
Santiago Pastorino
460a250984
Get rid of refine
2013-05-21 17:03:06 -07:00
Santiago Pastorino
1a8709d71c
Move caching to a new module
2013-05-21 17:03:06 -07:00
Santiago Pastorino
f179a27ed7
Add docs to serializable
2013-05-21 17:03:06 -07:00
Santiago Pastorino
aaa08c25ef
Make include_meta and meta_key private
2013-05-21 17:03:06 -07:00
Santiago Pastorino
76fead041f
Make Serializer reuse Serializable
2013-05-21 17:03:06 -07:00
Santiago Pastorino
0e876624ec
Move reusable code to a module
2013-05-21 17:03:05 -07:00
Santiago Pastorino
64ed05c484
Define serializer as DefaultSerializer if not set
2013-05-21 17:03:05 -07:00
Steve Klabnik
fe84e0ad52
version bump 0.8.1
2013-05-05 17:35:51 -07:00
Sam
597a2e3148
allow serializers to implement an options attribute
2013-05-06 10:30:46 +10:00
Steve Klabnik
a022d464f5
Bump to 0.8.0
2013-05-05 13:45:50 -07:00
Steve Klabnik
bb8900e308
Merge pull request #264 from vad4msiu/features/root_element
...
Support for setting root element
2013-05-05 12:02:27 -07:00
Steve Klabnik
cffdbce072
Merge pull request #283 from morgoth/add-only-and-except-options-support
...
Add only and except options support
2013-05-05 12:00:59 -07:00
Steve Klabnik
da779c259f
Merge pull request #293 from goshakkk/mongoid-support
...
add support of mongoid collection serialization
2013-05-05 12:00:04 -07:00
Gosha Arinich
1482081766
add support of mongoid collection serialization
2013-05-05 21:50:34 +03:00