Filippos Vasilakis
be01fc8ee7
Pass fields down from constructor
2016-06-09 03:26:52 -05:00
Benjamin Fleischer
cd9689683c
Merge branch 'ouvrages-exclude_nil_links'
2016-06-09 02:55:32 -05:00
Benjamin Fleischer
35a7c81034
Fix up caching, especially fragment_cache
2016-06-07 00:52:05 -05:00
Benjamin Fleischer
7254d34c90
Move Serializer#serialize into Serializer#serializable_hash
2016-06-05 23:33:37 -05:00
Benjamin Fleischer
913f396bb1
Move adapter cache properties to class level (where they belong).
2016-06-04 15:00:51 -05:00
Benjamin Fleischer
516e7da8ff
Move serialization logic into Serializer and CollectionSerializer
2016-06-04 14:59:51 -05:00
Benjamin Fleischer
41575e36f7
Moving Attributes#serializable_hash_for_single_resource to Serializer
2016-06-04 14:59:51 -05:00
Benjamin Fleischer
f28e486d4a
Remove Attributes adapter recursion
2016-06-04 14:59:51 -05:00
Ben Mills
d900b09f8d
Upgrade to rubocop ~> 0.40.0
2016-06-01 09:21:29 -06:00
Benjamin Fleischer
385abb4ba0
Simplify Serializer#cached_attributes to take a fields argument
2016-06-01 01:02:17 -05:00
Benjamin Fleischer
ba23de686d
Complete extracting to Serializer#cached_attributes
2016-06-01 01:02:13 -05:00
Benjamin Fleischer
96750b2f9a
Remove unnecessary Serializer#cached_fields
2016-06-01 00:47:10 -05:00
Benjamin Fleischer
eb86663393
Remove unnecessary Adapter::Base#resource_object_for
2016-06-01 00:43:24 -05:00
Benjamin Fleischer
fcfbc0d529
Merge pull request #1764 from bf4/serializer_cleanup_2
...
Remove unnecessary Adapter::Base#cache_attributes
2016-06-01 00:42:54 -05:00
Benjamin Fleischer
ee518e1856
Remove unnecessary Adapter::Base#cache_attributes
2016-06-01 00:35:11 -05:00
Benjamin Fleischer
0cc87fde40
Remove unnecessary Adapter::Base#cache_check
2016-06-01 00:15:29 -05:00
Lucas Hosseini
f48fd2a327
Extract IncludeTree. ( #1685 )
2016-05-28 10:07:11 -04:00
Ben Woosley
8c18d18cdb
Add default_includes configuration
...
This is useful to set application-wide default behavior - e.g. in
previous versions of AMS the default behavior was to serialize the
full object graph by default - equivalent to the '**' include tree.
Currently just the global setting, but I think this could also work
on a per-serializer basis, with more attention.
2016-05-26 00:16:14 +00:00
cgmckeever
bbed12864d
adds polymorphic option to association definition which includes association type in serializer
...
regen gemlock
regen gemlock
better variable naming
rubocop fixes
adds to changelog
adds empty relationship and has_many polymorph tests
indent
test cleaning
-rubocop
rubocop
rubocop
rubocop
changelog
remove silly .DS
fix roque failure
fix
2016-05-17 12:30:59 -05:00
Benjamin Fleischer
6c321cd862
Assert Schema ( #1677 )
...
* Assert Schema
* Fix regression from #1695 where JSONAPI renders empty meta
* Add changelog
2016-05-17 13:22:38 -04:00
Nader Akhnoukh
37ca0c1f6c
Support pagination link for Kaminari when no data is returned
2016-04-22 11:04:40 -06:00
Lucas Hosseini
e804d37924
Meta no longer handled in Base adapter.
2016-04-21 18:25:17 +02:00
Benjamin Fleischer
b7e2bc06ed
Memoize resource relationships
...
bin/bench_regression
"version": "0.10.0.rc5",
"rails_version": "4.2.6",
"benchmark_run[environment]": "2.2.2p95",
perf/only_calc_associations_once
"commit_hash": "1e7c428",
caching on: caching serializers: gc off 741.7702402782281/ips; 1355 objects
caching on: non-caching serializers: gc off 712.3752615532874/ips; 1257 objects
caching off: caching serializers: gc off 706.0789199312495/ips; 1355 objects
caching off: non-caching serializers: gc off 751.5310710635379/ips; 1257 objects
master
"commit_hash": "1033b711c7d7c231bb5b832e7dfe7f99389f22c4"
caching on: caching serializers: gc off 567.7959835633892/ips; 1803 objects
caching on: non-caching serializers: gc off 776.4929551133658/ips; 1257 objects
caching off: caching serializers: gc off 538.046851190591/ips; 1803 objects
caching off: non-caching serializers: gc off 738.5596630209004/ips; 1257 objects
2016-04-18 11:11:13 -05:00
Benjamin Fleischer
1e10c20ac0
Consolidate and simplify caching code
2016-04-13 01:08:09 -05:00
Benjamin Fleischer
929a5d0a51
Restrict serializable_hash to accepted options, only for tests
2016-04-13 00:40:57 -05:00
Benjamin Fleischer
aad7779a3f
Restrict serializable_hash to accepted options ( #1647 )
...
Restrict tests/impl from passing AMS options into serializable_hash
2016-04-11 13:10:18 -05:00
Michael Witrant
87bffef945
Exclude links without any data
2016-04-07 19:07:59 +02:00
Ben Mills
3498647d1a
Apply key transforms to keys referenced in values
2016-04-04 10:16:04 -06:00
Benjamin Fleischer
22f88ef379
Merge pull request #1651 from NullVoxPopuli/deserialization-error-with-no-attributes
...
Fix for Deserialization erroring when a relationship is null in the json api document.
2016-04-03 14:32:24 -05:00
NullVoxPopuli
5be33afbfb
Fix deserialization of nil relationships
...
failing test
use try for when the assoc_data is possibly nil
rubocop test/action_controller/json_api/deserialization_test.rb -a
attempt to work on rails-master
account for rails/master having instead of nil for assoc_data
added changelog
2016-04-01 16:06:35 -04:00
Benjamin Fleischer
21b2eff2ab
Improvements from Rails plugin template
2016-04-01 05:39:03 -05:00
kevintyll
16a3f93ce9
Include adapter in cache key
...
Confirm caching attributes with different key json_api vs. attributes adapter
Adapted from @kevintyll's original test
https://github.com/rails-api/active_model_serializers/pull/1644#issuecomment-204147094
2016-04-01 00:52:28 -05:00
Ben Mills
b73b780b79
Merge pull request #1629 from lawitschka/key-transform-on-deserialization
...
Properly deserialize dasherized keys
2016-03-31 13:30:02 -06:00
Yohan Robert
fb62fb39b2
Fix caching issue happening with memory_store
...
It seems that fecthing from memory_store returns a reference to the
object and not a copy. Since the Attributes adapter applies #merge! on
the Hash that is returned from the memory_store, the value in the cache
is also modified.
2016-03-30 09:53:21 -05:00
Yohan Robert
21cb896802
Move SerializableResource to ActiveModelSerializers namespace
...
Ref. https://github.com/rails-api/active_model_serializers/pull/1310
2016-03-30 11:33:04 +02:00
Moritz Lawitschka
afe786d19a
Properly deserialize dasherized keys
...
The JSON API adapater dasherizes every key, but the deserializer left the keys
unaltered. Thus, the client had to send underscored keys in the request body in
order for Rails to properly match sent values to model attributes.
This commit adds automatic key transformation on deserialization. Per default the
deserializer transforms the keys to underscore, but this behaviour can also be
changed by including `key_transform` in the deserializer options.
2016-03-29 22:46:01 +02:00
Benjamin Fleischer
2627740806
Silence @_routes warnings
2016-03-27 10:45:57 -05:00
Benjamin Fleischer
fb06a462bb
Fix warnings
2016-03-25 10:28:13 -05:00
Ben Mills
c533d1a7fe
Provide key case translation
2016-03-15 12:21:10 -06:00
Ben Mills
e8286b6138
Omit meta when blank
2016-03-14 08:36:09 -06:00
Benjamin Fleischer
eda8ff1737
Move serializer caching from adapter
2016-03-13 19:57:59 -05:00
Benjamin Fleischer
bdb997b1d9
Document JSON API implementation defs and progress in class
2016-03-13 00:30:06 -06:00
Ben Morrall
b5dd90c8f9
Fixed pagination issue with last page size
2016-03-10 09:30:29 +11:00
Yohan Robert
efb09051ea
Refactor fragment cache methods
...
Removed extra calls to constantize and DRY'd the code.
2016-03-08 23:51:10 +01:00
Benjamin Fleischer
68d5233b31
Address rubocop warnings
2016-03-08 22:32:34 +01:00
Benjamin Fleischer
a26d3e4425
Rubocop autocorrect
2016-03-08 22:32:34 +01:00
Ben Mills
cc10928472
Provide Rails url_helpers via SerializationContext
2016-03-07 10:40:34 -07:00
Benjamin Fleischer
5d7a1a4889
Remove the last of ApiObjects
2016-03-06 23:24:53 -06:00
Yohan Robert
dd94fe2163
Follow up to #1535
...
- The removed classes and modules were added back with deprecation
warning and deprecation test were added for them.
- One test was renamed because it contained `__`.
- Some tests were refactored.
- The ActiveModelSerializers::Deserialization module is now called
Adapter instead of ActiveModelSerializers::Adapter.
- The changelog was added for #1535
2016-03-06 23:15:39 -06:00
Benjamin Fleischer
e6ae34b84c
Update documentation with Yard links
2016-03-06 20:05:25 -06:00