Commit Graph

108 Commits

Author SHA1 Message Date
Rodrigo Ra
df63b59512 Add key option to serializer associations 2015-07-05 19:47:58 -03:00
Hugo Almeida
f25071ca70 Fixes virtual value not being used 2015-06-29 10:48:12 +09:00
João Moura
d3649d5b4e Renaming Error to NoSerializerError 2015-06-26 02:16:35 -03:00
Benjamin Fleischer
e5d1e40dbd Handle special-case of Array serializer with unserializable elements 2015-06-26 02:16:34 -03:00
João Moura
189b79523c fixing array rendering when elements doesn't have a serializer 2015-06-26 02:15:42 -03:00
Aaron Lerch
6892ca39c9 Default the generated cache key to use custom #strftime instead of raw #to_s to achieve more accurate precision 2015-06-25 23:40:18 -04:00
Benjamin Fleischer
2d24dded14 serializable_hash and as_json should take options = nil
per ActiveModel::Serialization#serializable_hash
96bb004fc6/activemodel/lib/active_model/serialization.rb
    def serializable_hash(options = nil)
          options ||= {}

Otherwise, passing in nil to `as_json` or `serializable_hash`
makes things blow up when passing nil into attributes
2015-06-24 11:46:29 -05:00
João Moura
e321cb366d Getting root key from AR::Relation 2015-06-16 11:36:17 -03:00
João Moura
65e0d79195 pluralising root key when using arraySerializer 2015-06-15 15:59:01 -03:00
João Moura
d061b2e9f4 enabling flatten json as default adapter 2015-06-15 13:49:24 -03:00
João Moura
1ea5608e78 updating tests to match new adapters structure 2015-06-15 13:39:36 -03:00
João Moura
2e46507971 avoiding nil cases when dynamically creating a class 2015-06-15 02:50:06 -03:00
João Moura
8e1214b4c5 force to use flattenJson when dealing with ArraySerializer 2015-06-15 02:48:39 -03:00
João Moura
b2f1947d4a removing unseless root method 2015-06-14 17:24:48 -03:00
João Moura
2bf91a0c0e updating adapters to follow new root logic 2015-06-14 03:25:20 -03:00
João Moura
a0753cb0bc autoloading new flatten son adapter 2015-06-14 03:25:00 -03:00
João Moura
1c3a180a20 disable root as flag option 2015-06-13 15:48:33 -03:00
João Moura
c8fcb60a5d addung fragment_cache method to Adapter::Json 2015-06-13 15:48:33 -03:00
João Moura
5932da64ef creating flatten_json adapter 2015-06-13 15:48:33 -03:00
João Moura
37114e9d5b removing unnecessary root parameter on fragment cache 2015-06-13 15:48:33 -03:00
João Moura
6251b90d25 Merge pull request #902 from cristianbica/serializer_file_digest
Added serializer file digest to the cache_key
2015-06-12 18:56:43 -03:00
Santiago Pastorino
4752e6723a Make resource generator invoke serializer generator 2015-06-10 20:45:33 -03:00
Chris Branson
d34bba07b9 Ensure the adapters honor a custom root option and include meta when required 2015-06-04 17:33:41 +01:00
João Moura
a40df8fd3d reverting PR #909 and adding json api usage advise on readme 2015-05-27 18:35:00 -03:00
João Moura
12adb2e6d4 Merge pull request #924 from navinpeiris/fragment-cache
Avoid unecessary calls to attribute methods when fragment caching
2015-05-27 14:55:31 -03:00
Navin Peiris
e0947fcbd4 Fixing issue where fragment cache calls attribute methods multiple times, even when they are supposed to be cached 2015-05-22 00:40:22 +05:30
Benedikt Deicke
4f576a1463 Adjusts JsonApi adapter to serialize relationships in a nested relationships hash 2015-05-21 16:35:35 +02:00
Benedikt Deicke
ca41901fb8 Adjusts JsonApi adapter to serialize attributes in a nested attributes hash 2015-05-21 16:23:01 +02:00
Guillermo Iguaran
f7fb4dbb98 Merge pull request #909 from joaomdmoura/json-api-default
Defining Json-API Adapter as Default
2015-05-20 20:50:19 -05:00
groyoh
a794a06fa5 Fixed #911 2015-05-17 22:47:44 +02:00
João Moura
2c9c36e21f adding json_api as default adapter 2015-05-10 03:58:18 -03:00
Cristian Bica
7a62d31777 Added serializer file digest to the cache_key
Fixes #901
2015-05-06 08:37:18 +03:00
groyoh
5dcdfaaef3 Fixed a bug that appeared when json adapter serialize a nil association 2015-04-28 22:20:21 +02:00
Alexandre de Oliveira
1577969cb7 Bumps to 0.10.0.rc1 2015-04-22 03:06:06 -03:00
Alexandre de Oliveira
168c36fc7d Merge pull request #810 from joaomdmoura/fragment-cache
Adding Fragment Cache to AMS
2015-04-21 17:57:55 -03:00
João Moura
792fb8a905 Adding Fragment Cache to AMS
It's an upgrade based on the new Cache implementation #693.
It allows to use the Rails conventions to cache
specific attributes or associations.
It's based on the Cache Composition implementation.
2015-04-05 18:19:57 -03:00
Yohan Robert
6a0564a241 Fixed a bug that appears when a nil association is included 2015-04-03 12:50:05 +02:00
Mateo Murphy
9aebc6cb11 Fix bugs with included resources
Make sure they're cached along with the including resource and remove duplicates
2015-03-24 20:07:25 -04:00
Mateo Murphy
90c7005c79 Don't store the root as we don't need it elsewhere 2015-03-23 12:38:15 -04:00
Mateo Murphy
294d06624f Remove unused embed option 2015-03-22 20:43:56 -04:00
Mateo Murphy
33f3a88ba0 Implement included and id and type as per spec 2015-03-22 20:43:56 -04:00
Mateo Murphy
d82c599c68 Always use plural for linked types
Although spec is agnostic about inflection rules, examples given are plural
2015-03-22 20:43:11 -04:00
Mateo Murphy
0f55f21266 Update format of links 2015-03-22 20:41:20 -04:00
Mateo Murphy
83c2854094 Rename add_linked to add_included
Better reflect generated output
2015-03-22 20:38:30 -04:00
Mateo Murphy
da86747a3e Use symbol for root in jsonapi, fix tests 2015-03-22 20:38:29 -04:00
Mateo Murphy
3ba4386bda Root is always "data" for jsonapi 2015-03-22 20:37:25 -04:00
Alexandre de Oliveira
bcd3844e58 Stores passed in options in array serializers
This is supported in single serializers. This adds support for passing
options from array serializers to each serializer in it.
2015-03-11 16:14:09 -03:00
Robbie Pitts
ad5677c4ec Make json api adapter 'include' option accept an array, accommodate comma delimited string for legacy reasons 2015-03-11 10:01:44 -04:00
Joao Moura
8a432ad2b3 Adding cache support to version 0.10.0
It's a new implementation of cache based on ActiveSupport::Cache.
The implementation abstracts the cache in Adapter class on a
private method called cached_object, this method is intended
to be used on Adapters inside serializable_hash method in order
to cache each instance of the object that will be returned by
the serializer.

Some of its features are:
- A different syntax. (no longer need the cache_key method).
- An options argument that have the same arguments of ActiveSupport::Cache::Store, plus a key option that will be the prefix of the object cache on a pattern "#{key}-#{object.id}".
- It cache the objects individually and not the whole Serializer return, re-using it in different requests (as a show and a index method for example.)
2015-02-02 14:53:34 -02:00
Nicolás Hock Isaza
1d7d9fd6aa Fix nested include attributes
When the requests asked for a nested attribute in the `include` and it's
missing or empty, don't break because the type of the object can't be
determined.

If the request is for a collection and none of the elements has the
attribute, it will not be added to the `linked` key, similar to what
happens with simple includes.
2015-01-13 14:49:58 -05:00