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
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
5a4eef6cea
Remove IncludeTree; missing from #1685
2016-05-30 23:08:23 -05:00
Lucas Hosseini
f48fd2a327
Extract IncludeTree. ( #1685 )
2016-05-28 10:07:11 -04:00
L. Preston Sego III
7d7329bbcf
Merge pull request #1426 from brigade/default-include
...
Add a default_include_tree config variable to ActiveModel::Serializer
2016-05-26 13:31:53 -04:00
Noah Silas
94db09b3f6
Fix RuboCop 0.40 linter errors ( #1722 )
...
These errors are breaking the build, which seems to use RuboCop 0.40 [1]
despite the Gemfile.lock pinning rubocop to 0.38.
New lints that I am updating the code style to reflect:
- Style/EmptyCaseCondition: Do not use empty case condition, instead use
an if expression.
- Style/MultilineArrayBraceLayout: Closing array brace must be on the
same line as the last array element when opening brace is on the same
line as the first array element.
- Style/MultilineHashBraceLayout: Closing hash brace must be on the same
line as the last hash element when opening brace is on the same line
as the first hash element.
- Style/MultilineMethodCallBraceLayout: Closing method call brace must
be on the line after the last argument when opening brace is on a
separate line from the first argument.
[1] https://github.com/bbatsov/rubocop/releases/tag/v0.40.0
2016-05-26 12:58:05 -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
Yohan Robert
a701777bd5
Prevent loading association when include_data is set to false ( #1710 )
...
This should fix #1707 .
2016-05-24 20:46:22 -04:00
Ben Mills
b6d4ec03de
Bump to v0.10.0
2016-05-17 12:49:37 -06:00
Fumiaki MATSUSHIMA
aa087a22b5
String/Lambda support for conditional attributes/associations
2016-04-26 21:37:25 +09:00
Benjamin Fleischer
1d24c9708a
Lazify calculating caller file digest until used
2016-04-18 12:04:31 -05: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
929a5d0a51
Restrict serializable_hash to accepted options, only for tests
2016-04-13 00:40:57 -05: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
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
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
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
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
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
Benjamin Fleischer
fa7b3afbfd
Prefer explicitly yielding the serializer, per groyoh
2016-03-30 14:01:28 -05:00
Benjamin Fleischer
ae6805eacd
Add serializer to association block context
2016-03-30 11:03:38 -05:00
Andre Schweighofer
a1ae7dc0d9
Update deprecation warning with correct namespace
2016-03-30 15:51:13 +02: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
Benjamin Fleischer
ec5dc497b0
Handle render.ams with nil serializer or adapter
2016-03-28 21:33:23 -05:00
Benjamin Fleischer
84197e4dad
SerializableResource handles no serializer like controller
2016-03-28 20:04:45 -05:00
Benjamin Fleischer
a74d174420
Include Serializer._type in collection serializer json_key cascade
2016-03-27 10:55:31 -05:00
Roman Kapitonov
2dd0c33461
[FIX] Fetch json key from item serializer if empty collection is passed to collection serializer and each_searializer is specified.
2016-03-27 10:52:25 -05:00
Benjamin Fleischer
fb06a462bb
Fix warnings
2016-03-25 10:28:13 -05:00
Benjamin Fleischer
dd60a371ae
Simplify caching of value of config.perform_caching
2016-03-24 22:22:19 -05:00
Benjamin Fleischer
c3c69a607a
Separate enabling of caching and setting the cache store
2016-03-24 22:20:42 -05:00
Benjamin Fleischer
9953d7abe0
Trigger callback to set serializer#_cache when controller loaded
2016-03-24 22:20:42 -05:00
Ben Mills
c533d1a7fe
Provide key case translation
2016-03-15 12:21:10 -06:00
Benjamin Fleischer
eda8ff1737
Move serializer caching from adapter
2016-03-13 19:57:59 -05:00
Benjamin Fleischer
b169ed387b
Make serializers serializable, step 1.
2016-03-13 00:26:15 -06:00
Benjamin Fleischer
85658c0230
Add better serialization_scope tests; uncover bug
2016-03-12 19:59:43 -06: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
Yohan Robert
8dfbc4818d
Simplify adapter deprecation and delegation
...
The Adapter module was refactored a bit to use Active Support delegation
and remove duplicated code.
The CHANGELOG was also added.
2016-03-07 15:09:09 +01:00
Benjamin Fleischer
b50195fde7
Add a deprecation DSL
2016-03-07 01:07:06 -06:00