Commit Graph

398 Commits

Author SHA1 Message Date
Vinicius Brasil
bcf21ea0a6
Remove unnecessary line break from exception message
This removes the unnecessary line break from the exception message. Example:

```
Cannot infer root key from collection type. Please\n
specify the root or each_serializer option, or render a JSON String
```
2018-10-24 14:10:59 -03:00
quake wang
a9ea81a831 resolve collection cache error 2017-11-19 11:33:48 -06:00
Benjamin Fleischer
ca531789c3 Bump to 0.10.7; update changelog 2017-11-14 20:50:51 -06:00
Joe Meredith
c6a14c9eac Fail if collection type cannot be inferred with json adapter (#2210) 2017-10-30 13:37:37 -04:00
Christian
a89e78c655 Allow referencing sideloaded include by key. (#2136)
* If a `key` is set on the reflection use the `key` instead of `name`.
This ensures that associations with a key set are still included.
2017-05-18 15:59:14 -05:00
Benjamin Fleischer
dff621e174 Bump to v0.10.6 2017-05-01 10:59:14 -05:00
Benjamin Fleischer
96028a7b99 Document new reflection options; support :foreign_key 2017-05-01 10:18:13 -05:00
Benjamin Fleischer
c9b0e4e6ae Do not calculate cache_key unless caching 2017-04-30 23:03:18 -05:00
Benjamin Fleischer
6e41528515 Skip eval relationships object on belongs to 2017-04-30 18:32:08 -05:00
Benjamin Fleischer
5e01a93fc0 Update comments regarding lazy_association and TODOs 2017-04-30 15:09:18 -05:00
Benjamin Fleischer
ff5ab21a45 Make Association totally lazy 2017-04-23 18:40:46 -05:00
Benjamin Fleischer
7697d9f5ec Refactor: introduce lazy association 2017-04-23 17:53:00 -05:00
Benjamin Fleischer
34d55e4729 Remove extra reflection classes 2017-04-23 17:46:55 -05:00
Benjamin Fleischer
7d8fb1606b Cleanup 2017-04-23 17:42:30 -05:00
Benjamin Fleischer
ee69293c8f Refactor reflection building serializer class 2017-04-23 15:21:29 -05:00
Benjamin Fleischer
079b3d6841 Refactor collection reflection 2017-04-23 14:53:45 -05:00
Benjamin Fleischer
1bddd9fdb5 Refactor 2017-04-23 14:47:55 -05:00
Benjamin Fleischer
fad4ef1046 Refactor reflection building of association 2017-04-23 14:19:04 -05:00
Benjamin Fleischer
cb16457bb3 Make reflection explicitly dependents on association 2017-04-23 14:18:30 -05:00
Benjamin Fleischer
6cd6ed7e78 Move association serialization to association 2017-04-22 22:13:52 -05:00
Benjamin Fleischer
c2dccbac5f Move attributes cache method out of concern 2017-04-22 22:13:52 -05:00
Benjamin Fleischer
f327b6be0c Improve reflection internal interface 2017-03-27 22:46:07 -05:00
Benjamin Fleischer
2e71bc47f4 Improve comments; move caching concern to caching.rb 2017-03-16 10:14:18 -05:00
Benjamin Fleischer
36b4eac79b Make serializer interface more obvious 2017-03-14 20:54:54 -05:00
Benjamin Fleischer
28b8e3dd17 Bump to v0.10.5 2017-03-07 15:41:20 -06:00
Benjamin Fleischer
655c721d0d Bump to v0.10.4
Conflicts:
	CHANGELOG.md
2017-01-06 16:23:54 -06:00
Benjamin Fleischer
05430fb233 Fix typos
```
go get -u github.com/client9/misspell/cmd/misspell
misspell  -w -q -error -source=text {app,config,lib,test}/**/*
```

>   workers   = flag.Int("j", 0, "Number of workers, 0 = number of CPUs")
>   writeit   = flag.Bool("w", false, "Overwrite file with corrections (default is just to display)")
>   quietFlag = flag.Bool("q", false, "Do not emit misspelling output")
>   outFlag   = flag.String("o", "stdout", "output file or [stderr|stdout|]")
>   format    = flag.String("f", "", "'csv', 'sqlite3' or custom Golang template for output")
>   ignores   = flag.String("i", "", "ignore the following corrections, comma separated")
>   locale    = flag.String("locale", "", "Correct spellings using locale perferances for US or UK.  Default is to use a neutral variety of English.  Setting locale to US will correct the British spelling of 'colour' to 'color'")
>   mode      = flag.String("source", "auto", "Source mode: auto=guess, go=golang source, text=plain or markdown-like text")
>   debugFlag = flag.Bool("debug", false, "Debug matching, very slow")
>   exitError = flag.Bool("error", false, "Exit with 2 if misspelling found")
2016-12-11 23:41:23 -06:00
Benjamin Fleischer
cd09e89006 Bump to 0.10.3 2016-11-21 08:55:22 -06:00
L. Preston Sego III
d31d741f43 Make serializer lookup configurable (#1757) 2016-11-16 18:38:40 +01:00
Yohan Robert
d0de53cbb2 Fix namespace lookup for collections and has_many (#1973) 2016-11-15 08:35:58 -05:00
L. Preston Sego III
b29395b0ac This adds namespace lookup to serializer_for (#1968)
* This adds namespace lookup to serializer_for

* address rubocop issue

* address @bf4's feedback

* add docs

* update docs, add more tests

* apparently rails master doesn't have before filter

* try to address serializer cache issue between tests

* update cache for serializer lookup to include namespace in the key, and fix the tests for explicit namespace

* update docs, and use better cache key creation method

* update docs [ci skip]

* update docs [ci skip]

* add to changelog [ci skip]
2016-11-09 07:57:39 -05:00
Benjamin Fleischer
6c6e45b23f Replace fail/rescue CollectionSerializer::NoSerializerError with throw/catch :no_serializer (#1767) 2016-09-26 10:18:27 -04:00
Lee Richmond
2145540795 Add include_data :if_sideloaded (#1931)
For JSONAPI, `include_data` currently means, "should we populate the
'data'" key for this relationship. Current options are true/false.

This adds the `:if_sideloaded` option. This means "only
populate the 'data' key when we are sideloading this relationship." This
is because 'data' is often only relevant to sideloading, and causes a
database hit.

Addresses https://github.com/rails-api/active_model_serializers/issues/1555
2016-09-25 12:57:19 -04:00
Lee Richmond
19b5abf66e Disable pagination links via config 2016-09-06 15:06:54 -04:00
Benjamin Fleischer
d34069b6ae Merge pull request #1799 from ScottKbka/patch-1
Update rendering.md
2016-08-31 16:18:47 -05:00
Benjamin Fleischer
20e394d512 Refactor Association into Field like everything else (#1897)
* Make assocations asserts easier to understand

* Refactor Association into Field like everything else

* Make assocation serializer/links/meta lazier

* Push association deeper into relationship

* Simplify association usage in relationships

* Better naming of reflection parent serializer

* Easier to read association method
2016-08-31 09:35:41 -04:00
Benjamin Fleischer
7c4ce7bcb0 Organize Serializer concerns into concerns/ 2016-08-31 00:59:48 -05:00
Scott Kobewka
7178b9de7b Documenting Adapter. Fixing typo in association.rb documentation. 2016-08-17 20:24:36 -04:00
Mark Abramov
5f3bdcc87c Use ActiveSupport::Cache.expand_cache_key for cache key expansions (#1878)
* Use ActiveSupport::Cache.expand_cache_key for cache key expansions
2016-08-13 16:59:36 -05:00
L. Preston Sego III
6de3f31b6e Namespace separator setting for json-api and tests (#1874)
Adds jsonapi_namespace_separator configuration

Also:

* Enable getting type from record class without serializer

Needs Followup:

- https://github.com/rails-api/active_model_serializers/pull/1874#discussion_r74607042 
- https://github.com/rails-api/active_model_serializers/pull/1874#discussion_r74607734
2016-08-12 12:54:42 -05:00
Avon
3ad2457aaf Bugfix/redefine associations on inherited serializers (#1848)
* replace reflection collection type with hash to prevent duplicated associations in some cases

* include tests

* Fix robucup offenses

* Improve test

* Remove usless requirement

* improve tests

* remove custom_options option from Post and InheritedPost serializer

* Improve tests

* update changelog

* update changelog
2016-07-17 16:25:43 -04:00
Benjamin Fleischer
d8f3fa4bca Bump to 0.10.2 2016-07-05 13:20:24 -05:00
Benjamin Fleischer
f4e00dc65d Merge pull request #1815 from dubadub/making-rubocop-happy
Fix code-styling issues from .rubocop_todo.yml

* re: RuboCop: Bulk minor style corrections

* re: RuboCop - hash indention corrections

* re: RuboCop - replace rocket style hashes

* re: RuboCop - get rid of redundant curly braces around a hash parameter

* re: RuboCop - Align the elements of a hash literal if they span more than one line.

* re: RuboCop - Use nested module/class definition instead of compact style.

* re: RuboCop - Suppress of handling LoadError for optional dependencies

* re: RuboCop - use include_ prefix instead of has_

* re: RuboCop - Disable Style/PredicateName rule for public API methods

* re: RuboCop - Remove empty .rubocop_todo.yml

* re: RuboCop - replace rocket style hashes
2016-06-26 22:22:55 -05:00
zaaroth
bcf3358524 Ensuring read_multi works with fragment cache. (#1814)
* Ensuring read_multi works with fragment cache.
2016-06-22 22:33:02 -05:00
Alexey Dubovskoy
af959b0273 re: RuboCop - Disable Style/PredicateName rule for public API methods 2016-06-20 22:17:19 +01:00
Alexey Dubovskoy
85f417f8d2 re: RuboCop - Use nested module/class definition instead of compact style. 2016-06-20 22:15:20 +01:00
Benjamin Fleischer
32a3b53892 Bump to 0.10.1 2016-06-16 09:41:10 -05:00
Benjamin Fleischer
b599360ae3 Provide convenience serializer_class for all the self.class calls
per groyoh
https://github.com/rails-api/active_model_serializers/pull/1781#discussion_r66021340
2016-06-07 20:28:50 -05:00
Benjamin Fleischer
5375e009e2 Test caching with fragmented key
- on association, fix up assocation logic
- on attribute
2016-06-07 20:26:38 -05:00
Benjamin Fleischer
b8924157d7 Remove remaining fragmented cache class 2016-06-07 03:42:03 -05:00