Benjamin Fleischer
1cc2e04cf6
Address issues in 50950d9533 #1340
...
- Add changelog entry
- Remove superseded and incorrect tests
- Fix array serialization test
2016-02-08 18:14:25 -06:00
Benjamin Fleischer
50950d9533
Merge branch 'beauby-resource-level-meta'
...
Followup concerns:
- https://github.com/rails-api/active_model_serializers/pull/1340/files#r47451387
- https://github.com/rails-api/active_model_serializers/pull/1340/files#r48116963
- https://github.com/rails-api/active_model_serializers/pull/1340#discussion_r47451387
- https://github.com/rails-api/active_model_serializers/pull/1340#issuecomment-164306882
- https://github.com/rails-api/active_model_serializers/pull/1340#issuecomment-166202978
- https://github.com/rails-api/active_model_serializers/pull/1340#issuecomment-173028896
2016-02-08 18:00:51 -06:00
Benjamin Fleischer
5b953ff40f
Address concerns from #1018 commit c59668e
2016-02-08 17:55:15 -06:00
Benjamin Fleischer
c59668e7a8
Merge branch 'leandrocp-add-top-level-links'
...
Needs followup
- https://github.com/rails-api/active_model_serializers/pull/1018#discussion_r51733900
- https://github.com/rails-api/active_model_serializers/pull/1018#discussion_r51734779
- https://github.com/rails-api/active_model_serializers/pull/1018#discussion_r51735145
- https://github.com/rails-api/active_model_serializers/pull/1018#discussion_r51735218
2016-02-08 17:44:05 -06:00
Leandro Cesquini Pereira
37e4f1c30c
Update top-level link with PR #1247
...
update according rubocop rules
2016-02-03 10:16:22 -02:00
Leandro Cesquini Pereira
1844c162f1
Adds support for top-level links to JsonApi adapter
...
http://jsonapi.org/format/#document-top-level
fix failing tests
support for top-level links limited to jsonapi adapter
Move docs from README to docs/ dir
move links to json-api adapter & create Links class to hold links data
2016-02-03 10:16:22 -02:00
Lucas Hosseini
061f1c0f59
Add support for relationship-level links and meta.
2016-01-21 02:36:54 +01:00
Rafael Chacón
207c85f0fd
Add tests for meta on resource objects.
2016-01-20 00:49:46 +01:00
Lucas Hosseini
30d8414cce
Add support for dynamic string-links in JsonApi adapter.
2016-01-15 14:36:42 +01:00
Lucas Hosseini
20a58d7f5c
Add support for JSON API deserialization (experimental).
2016-01-13 05:48:06 +01:00
Benjamin Fleischer
419faf03b9
Favor ActiveSupport::TestCase over Minitest::Test
...
- Better minitest 4/5 support
- Better DSL
- Already available with no changes
- Consistent interface
2015-12-22 10:35:51 -06:00
Benjamin Fleischer
ce17a1b305
[DOCS] Refactor, update, create documentation [ci skip]
2015-12-14 14:38:29 -06:00
tchak
31172b1be5
rename context to serialization_context
2015-11-07 20:32:27 +01:00
Lucas Hosseini
3804dcc238
Add support for resource-level JSON API links.
2015-11-03 23:50:16 +01:00
L. Preston Sego III
17be650538
Revert "rename context to serialization_context and add url helpers"
2015-10-29 08:16:47 -04:00
L. Preston Sego III
a063cbea21
Merge pull request #1289 from tchak/serialization_context
...
rename context to serialization_context and add url helpers
2015-10-29 07:56:47 -04:00
Lucas Hosseini
13ef8fed1b
Fix fields option to restrict relationships as well.
2015-10-24 21:28:13 +02:00
tchak
d08ee5994f
rename context to serialization_context and add url helpers
2015-10-22 22:28:54 +02:00
Benjamin Fleischer
2c8b9b796d
Rename ArraySerializer to CollectionSerializer for clarity
2015-10-21 16:53:26 -05:00
João Moura
da7e6dc795
Merge pull request #1247 from beauby/jsonapi-toplevel-links
...
Add support for toplevel JSON API links.
2015-10-10 17:52:08 -03:00
Lucas Hosseini
eccb359cb9
Fix unnecessary nested serializers.
2015-10-08 18:13:58 +02:00
Lucas Hosseini
54303b6290
Add support for toplevel JSON API links.
2015-10-06 20:01:46 +02:00
Lucas Hosseini
f4bb4c81b0
Fix duplicate resources between data and included.
2015-10-06 17:25:27 +02:00
Lucas Hosseini
658810e6a0
Extract attributes filtering from serializer into adapter.
2015-10-05 08:21:26 +02:00
Benjamin Fleischer
a2bfe190e3
Merge pull request #1050 from bf4/json_api_member
...
Add top-level jsonapi member to JSON API adapter
2015-10-01 23:03:11 -05:00
Ivan Yurov
2dd569ae51
Add Serializer 'type' directive to control type field, for use by the JsonApi adapter
2015-10-01 22:48:57 -04:00
Benjamin Fleischer
9d7da8afc4
Add support for top level jsonapi member.
2015-10-01 21:22:49 -05:00
Benjamin Fleischer
19de5f7722
Introduce Adapter::Base
...
Breaking change:
- Adapters now inherit Adapter::Base
- 'Adapter' is now a module, no longer a class
Why?
- using a class as a namespace that you also inherit from is complicated and circular at time i.e.
buggy (see https://github.com/rails-api/active_model_serializers/pull/1177 )
- The class methods on Adapter aren't necessarily related to the instance methods, they're more
Adapter functions
- named `Base` because it's a Rails-ism
- It helps to isolate and highlight what the Adapter interface actually is
2015-09-20 12:26:04 -05:00
Lucas Hosseini
ce7a839f3d
Extended format for JSONAPI include option.
2015-09-13 22:45:47 +02:00
Lucas Hosseini
890003b305
Minor style improvements.
2015-09-07 09:06:17 +02:00
Lucas Hosseini
ebb05959d3
Merge remote-tracking branch 'upstream/master' into improve-tests
2015-09-07 09:03:17 +02:00
Benjamin Fleischer
228cc1c92a
Rubocop: Consistent spacing
2015-09-03 20:51:40 -05:00
Benjamin Fleischer
bdfe13c527
Style/StringLiterals single quote all the things
2015-09-03 20:50:45 -05:00
Lucas Hosseini
4bba16bf4e
Factor with_adapter + force cache clear before each test.
2015-08-28 17:00:24 +02:00
Lucas Hosseini
91235ba7bc
Add configuration option to set resource type to singular/plural with jsonapi.
2015-08-24 22:55:22 +02:00
Bruno Bacarini
d50262edbe
test pagination links the way the controller does
2015-08-20 11:32:03 -03:00
Bruno Bacarini
01eab3bdb4
send whole request context to model serializer
2015-08-19 10:48:48 -03:00
Bruno Bacarini
2c2f948fa0
Add pagination links automatically
...
Pagination links will be included in your response automatically as long
as the resource is paginated using Kaminari or WillPaginate
and if you are using a JSON-API adapter. The others adapters does not have this feature.
2015-08-18 19:04:04 -03:00
Bruno Bacarini
a41d90cce4
add self to pagination links
2015-08-18 19:04:04 -03:00
Bruno Bacarini
e0d050d2af
remove resource and options attr_reader from array_serialize
2015-08-18 19:04:03 -03:00
Bruno Bacarini
7be25fef14
include query_parameters on pagination links as well
2015-08-18 19:04:03 -03:00
Bruno Bacarini
e62a7d6f34
return complete URIs on pagination links
2015-08-18 19:04:03 -03:00
Bruno Bacarini
331218d1c3
add test to class of pagination links
2015-08-18 19:04:03 -03:00
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
741c4a4b51
updating tests to work with new virtual_value implementation
2015-06-26 02:16:35 -03:00
Benjamin Fleischer
cf77786da2
Fix #955
2015-06-26 02:16:34 -03:00
Justin Aiken
3710c32cee
Add some failing tests around has_many assocs...
...
..where no serializer is defined for the thing that is has_many'd
2015-06-26 02:16:34 -03:00
João Moura
1ea5608e78
updating tests to match new adapters structure
2015-06-15 13:39:36 -03:00
Lachlan Sylvester
97e82c3eb7
use model name to determine the type
2015-06-13 19:45:46 +10:00
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
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
5e560ddbef
Fix skipped test and add test for duplicate links
2015-03-24 19:46:30 -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
da86747a3e
Use symbol for root in jsonapi, fix tests
2015-03-22 20:38:29 -04:00
Mateo Murphy
ca985e1afd
Use association value for determining serializer used
...
Ensures overridden association value works when orignal association does not return a result.
2015-03-19 23:28:00 -04: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
Gary Gordon
c6044286ef
Workaround order dependent test failure
2015-03-01 13:47:40 -05:00
Gary Gordon
651b99f22e
Support has_one to be compatible with 0.8.x
...
Update README and CHANGELOG
2015-03-01 13:47:34 -05:00
Alexandre de Oliveira
77fb050d24
Merge pull request #821 from wjordan/patch-1
...
Fix explicit serializer for associations
2015-03-01 08:46:27 -05:00
Alexandre de Oliveira
3505bc64a3
Merge pull request #798 from donbobka/feature/fix_lost_test
...
Fix lost test `test_include_multiple_posts_and_linked`
2015-03-01 08:41:13 -05:00
Will Jordan
f4eb33d6e9
Update test_includes_linked_comments with correct expected result
2015-02-24 18:46:04 -08: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
Vladimir Lyzo
54d6696e7c
Fix lost test test_include_multiple_posts_and_linked
2015-01-31 19:44:22 +03:00
Alexandre de Oliveira
e47231cdc8
Support overriding association methods
...
You can override associations to define custom scope on them.
2015-01-29 16:52:18 -02:00
Guillermo Iguaran
22202a115a
Lets keep the assert_equal without parens for consistency.
2015-01-11 16:21:20 -05:00
Robbie Pitts
b626ec8f14
Spec for linked resource type name demodulization
2015-01-11 16:10:02 -05:00
Alexandre de Oliveira
6eb75af96b
Merge pull request #696 from ggordon/explicit_serializer
...
Explicitly set serializer for associations
2015-01-06 09:57:07 -02:00
Alexandre de Oliveira
87f817943a
Merge pull request #700 from arenoir/sparse_fieldsets
...
sparse fieldsets
2015-01-06 09:38:51 -02:00
Aaron Renoir
2ed52f96a6
merge upstream update fieldset
2014-11-13 17:45:47 -08:00
Alexandre de Oliveira
2f5626d616
Fixes nested has_many links in JSONAPI
...
When linked resource had has_many links, all of them would use the
association from the first resource, causing all of the items to build
`links` with the same associations.
This fixes it by iterating over the serializers, not just the
attributes array.
2014-11-13 16:38:47 -02:00
Gary Gordon
9f9715801a
Explicitly set serializer for associations
...
Document specifying serializer for assocaition
2014-11-13 10:17:59 -05:00
Alexandre de Oliveira
7333f20285
Use type as key for linked resources
...
If type is `author` but the association is called `writer`, the linked
resource key should be called `authors`, e.g
{
...
linked: {
authors: [{
...
}]
}
...
}
2014-11-12 20:03:25 -02:00
Alexandre de Oliveira
91b3fba509
Includes links inside of linked resources
...
According to
http://jsonapi.org/format/#document-structure-resource-objects ,
> Resource objects have the same internal structure, regardless of
> whether they represent primary or linked resources.
And then
http://jsonapi.org/format/#document-structure-resource-object-attributes ,
> There are four reserved keys in resource objects:
>
> "id"
> "type"
> "href"
> "links"
This commits includes `links` inside of linked resources.
2014-11-12 15:44:54 -02:00
Alexandre de Oliveira
971f501e55
Bugfix: include nested has_many association
...
Currently, doing `include: author.bio` would work correctly, but not for
has_many associations such as `include: author.roles`. This fixes it.
The problem was basically that we were not handling arrays for has_many linked,
as happens for ArraySerializers.
2014-11-11 14:35:00 -02:00
Gary Gordon
d97b2f5005
Fix infinite recursion
...
The method for testing whether to include an association was causing
an infinite loop when two models referenced each other.
2014-11-07 10:03:31 -05:00
Aaron Renoir
fc1562c04a
add fields to adapter initialize function, pull in master, add tests using includes with fields
2014-11-05 18:10:37 -08:00
Aaron Renoir
c9c58e31e5
merge upstream/master
2014-11-05 16:47:15 -08:00
Gary Gordon
d5bae0c2f0
Include 'linked' member for json-api collections
...
The options passed to the render are partitioned into adapter options
and serializer options. 'include' and 'root' are sent to the adapter,
not sure what options would go directly to serializer, but leaving this
in until I understand that better.
2014-11-03 17:13:55 -05:00
Guillermo Iguaran
3bba334cf8
JSON-API: Don't include linked section if associations are empty
2014-10-31 14:30:59 -05:00
Guillermo Iguaran
2d21a8e83f
Add type when association name is different than objects type
2014-10-31 01:54:13 -05:00
Guillermo Iguaran
19ac139880
Handle correctly null associations
...
null belongs_to associations are now serialized as nil instead
of raise an error during serialization.
2014-10-30 09:35:05 -05:00
Aaron Renoir
be54e0bc4f
remove serializer dependency from fieldset
2014-10-27 15:24:19 -07:00
Aaron Renoir
34f08477e4
fix tests, but need to understand how the serializer class attribute _associations was getting changed.
2014-10-26 14:41:14 -07:00
Aaron Renoir
39bee48ae6
implement sparse fieldsets http://jsonapi.org/format/#fetching-sparse-fieldsets
2014-10-26 13:04:14 -07:00
Edgars Jekabsons
f9b7c74235
Renamed embed test to have "test" suffix
...
Fixed reference to association options
2014-10-22 15:30:44 +03:00
Guillermo Iguaran
7c030314cb
Serialize ids as strings in JSON-API adapter
2014-10-15 18:56:49 -05:00
Guillermo Iguaran
557b56a50e
Refactor adapters to implement support for array serialization
2014-10-15 17:35:50 -05:00
Guillermo Iguaran
188336522f
Add support for embed: :ids option for in associations
2014-10-10 16:48:55 -05:00
Alex Genco
0eed2b051a
Add "_test" suffix to JsonApi::HasManyTest filename.
...
"rake test" was previously skipping this file because it didn't have the
proper suffix.
2014-09-14 13:02:09 -07:00
Tema Bolshakov and Dmitry Myaskovskiy
ff37b6260d
test for json adapter
2014-08-29 19:40:01 +04:00
Tema Bolshakov
e45e5a82b7
Remove 'Adapter' suffix from adapters since they are in Adapter:: namespace
2014-08-29 11:40:56 +04:00
Tema Bolshakov
6bb4501f67
JsonApi adapter: serialize association
2014-08-29 11:37:27 +04:00