Commit Graph

1335 Commits

Author SHA1 Message Date
Benjamin Fleischer
b4f3d3bd3c Merge pull request #1689 from bf4/unsubscribe_notification
Add missing unsubscribe from test
2016-04-18 16:09:03 -05:00
Benjamin Fleischer
56662e9f34 Add missing unsubscribe from test 2016-04-18 14:45:27 -05:00
Benjamin Fleischer
dd41e1be42 Merge pull request #1686 from bf4/perf/only_calc_associations_once
Memoize resource relationships
2016-04-18 12:26:22 -05:00
Benjamin Fleischer
1d24c9708a Lazify calculating caller file digest until used 2016-04-18 12:04:31 -05:00
Benjamin Fleischer
e554ba23d2 Nicer debug; compare caching by serializer, grouped by caching on/off
bundle exec bin/bench_regression a5eaf6cd7a7fed42d9e64777753a1762e187eadc 1033b711c7d7c231bb5b832e7dfe7f99389f22c4 --pattern bm_caching

["perf/only_calc_associations_once", "a5eaf6cd7a7fed42d9e64777753a1762e187eadc", "1033b711c7d7c231bb5b832e7dfe7f99389f22c4", "a5eaf6c"]
  "version": "0.10.0.rc5",
  "rails_version": "4.2.6",
  "benchmark_run[environment]": "2.2.2p95",

Note: checking out 'a5eaf6cd7a7fed42d9e64777753a1762e187eadc'.

HEAD is now at a5eaf6c... Nicer debug; compare caching by serializer, grouped by caching on/off

caching on: caching serializers: gc off 783.6956866669746/ips; 1355 objects
caching on: non-caching serializers: gc off 798.8629770532652/ips; 1257 objects
caching off: caching serializers: gc off 682.3661326140281/ips; 1355 objects
caching off: non-caching serializers: gc off 721.2175067555897/ips; 1257 objects

HEAD is now at 1033b71... Merge pull request #1638 from bf4/caching_redux

caching on: caching serializers: gc off 570.6905948477781/ips; 1803 objects
caching on: non-caching serializers: gc off 822.8418206976623/ips; 1257 objects
caching off: caching serializers: gc off 523.4174806572001/ips; 1803 objects
caching off: non-caching serializers: gc off 747.6026493097758/ips; 1257 objects
2016-04-18 11:55:20 -05: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
Lucas Hosseini
4c0e2dcb28 Fix example in docs/general/deserialization.md. 2016-04-18 01:04:50 +02:00
Benjamin Fleischer
63e93375e3 Merge pull request #1638 from bf4/caching_redux
Caching redux: move as much attribute/association caching code into the serializer as possible, minimize caching code in the adapter
2016-04-15 14:08:35 -05:00
Yohan Robert
2159e81802 Merge pull request #1682 from swrobel/patch-1
Correct Adapter & SerializableResource examples
2016-04-14 00:02:21 +02:00
Stefan Wrobel
f3acf4e7a2 Correct Adapter & SerializableResource examples 2016-04-13 14:08:12 -07:00
Benjamin Fleischer
cc80eba9c9 Refactor fragment cache logic some more 2016-04-13 01:08:10 -05:00
Benjamin Fleischer
06636b25b2 Begin simplifying fragment cache 2016-04-13 01:08:09 -05:00
Benjamin Fleischer
1e10c20ac0 Consolidate and simplify caching code 2016-04-13 01:08:09 -05:00
Benjamin Fleischer
e2ded594d3 Merge pull request #1678 from bf4/serialization_interface
Restrict serializable_hash to accepted options
2016-04-13 00:59:10 -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
L. Preston Sego III
aec284844f Merge pull request #1676 from Quintasan/patch-1
Update serializers.md
2016-04-11 08:11:26 -05:00
Michał Zając
dcc7af925d Update serializers.md 2016-04-11 14:52:07 +02:00
Benjamin Fleischer
afe3c93807 Add more association documentation (#1635)
[DOC] Add more association documentation
2016-04-10 12:44:37 -05:00
L. Preston Sego III
d2917fd606 Merge pull request #1673 from DrSayre/adding_poro_howto
Adding poro howto
2016-04-09 17:33:28 -04:00
Caleb Sayre
05618eac3d added howto for serializing poro
trying to get styling correct

added changelog entry, link to guide, and fixed indentation
2016-04-09 17:20:46 -04:00
Michael Witrant
87bffef945 Exclude links without any data 2016-04-07 19:07:59 +02:00
Yohan Robert
a1826186e5 Merge pull request #1663 from bf4/followup_to_rails_40_removal
Remove untested lint conditions
2016-04-07 00:15:41 +02:00
L. Preston Sego III
4f425fe55f Merge pull request #1664 from rmehner/patch-1
Fix link to key transforms doc in post install message
2016-04-05 07:23:54 -04:00
Robin Mehner
a3fd209612 Fix link to key transforms doc in post install message 2016-04-05 10:12:45 +02:00
Benjamin Fleischer
01edebd37c Remove untested lint conditions 2016-04-04 20:15:30 -05:00
L. Preston Sego III
74d172b4f6 Merge pull request #1662 from remear/drop-old-versions
Drop support for Rails 4.0 and Ruby 2.0.0
2016-04-04 18:10:01 -04:00
Benjamin Fleischer
e580487de3 Bump to v0.10.0.rc5 🎂 2016-04-04 16:50:31 -05:00
Benjamin Fleischer
b58f73ced1 Merge branch 'andreaseger-fix_missing_require_of_active_support_json' 2016-04-04 13:54:12 -05:00
L. Preston Sego III
5070377d0f Merge pull request #1661 from bf4/fix_read_attribute_for_inherited_methods
Fix read_attribute_for_serialization not seeing parent serializer methods
2016-04-04 14:14:56 -04:00
Ben Mills
89e0a39fbb Drop support for Rails 4.0 and Ruby 2.0.0 2016-04-04 11:41:35 -06:00
Benjamin Fleischer
6370e5c72a Fix read_attribute_for_serialization not seeing parent serializer methods
Fixes #1653, #1658, #1660

Define "scope_name" on instance singleton, not all instances
2016-04-04 12:29:26 -05:00
Ben Mills
0e82f6b5c0 Merge pull request #1645 from remear/transforms
Transform keys referenced in values in serialized documents
2016-04-04 11:10:30 -06:00
Ben Mills
3498647d1a Apply key transforms to keys referenced in values 2016-04-04 10:16:04 -06:00
Andreas Eger
af2b38c43b add require for active_support/json to fix #1656 2016-04-04 09:26:48 +02:00
Benjamin Fleischer
d30aa4c44f Merge pull request #1655 from liveeditor/applicationserializer_docs
[DOC] Document generator's auto-extending of ApplicationSerializer (if it exists)
2016-04-03 14:33:52 -05: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
Chris Peters
dba85f2720 #1594 - Document generator's auto-extending of (if it exists) 2016-04-02 13:18:07 -04: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
7acbb765bd Merge pull request #1650 from bf4/fix_serialization_scope
[FIX] serialization scope options
2016-04-01 14:17:19 -05:00
Benjamin Fleischer
881edd299b Add Changelog [ci skip] 2016-04-01 12:09:09 -05:00
Benjamin Fleischer
2edd39d2c2 Need to teardown the dynamically added method 2016-04-01 12:05:44 -05:00
Benjamin Fleischer
53c7e6ed3d Merge pull request #1649 from bf4/rails_template_update
[DOC] Improvements from Rails plugin template
2016-04-01 10:13:14 -05:00
Benjamin Fleischer
a065bc28d1 Fix serialization scope options 2016-04-01 05:43:46 -05:00
Benjamin Fleischer
21b2eff2ab Improvements from Rails plugin template 2016-04-01 05:39:03 -05:00
Benjamin Fleischer
96c5516d21 Merge pull request #1644 from bf4/kevintyll-master-cache_serializers_by_adapter
[FIX] Include adapter in cache key so that serialization is per adapter
2016-04-01 01:20:15 -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
Benjamin Fleischer
e118599052 Merge pull request #1642 from bf4/kevintyll-master
[FEATURE] Prefer object.cache_key when available.
2016-03-31 23:39:02 -05:00
Benjamin Fleischer
4ba4c298ec Prefer object.cache_key when available. 2016-03-31 22:29:13 -05:00
kevintyll
ab6bd600e3 When caching, return the object's cache_key up front if it's defined.
This will prevent objects PORO objects that don't have updated_at defined, from throwing an error.

Not as big a deal now that PORO objects can inherit ActiveModelSerializers::Model, but still necessary if it's not inherited for whatever reason.

Add the Adapter type to the cache key.

This prevents incorrect results when the same object is serialized with different adapters.

BF:

Cherry-pick of
040a97b9e9
which was a squash of
f89ed71058

from pr 1346
2016-03-31 22:29:13 -05:00