Commit Graph

503 Commits

Author SHA1 Message Date
Fabian Mersch
2a8b9f4105 Eager load modules on boot
Using ActiveModelSerializers with a threaded web server eg. Puma
uninitialized constant errors are thrown. Leaving this article for
reference:
http://blog.plataformatec.com.br/2012/08/eager-loading-for-greater-good/.
2018-10-11 21:32:12 +02: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
Benjamin Fleischer
3dd6cccb4d Fix 0.10.6 regression; make using belongs_to on self opt-in 2017-11-13 08:36:23 -06:00
Joe Meredith
c6a14c9eac Fail if collection type cannot be inferred with json adapter (#2210) 2017-10-30 13:37:37 -04:00
Geremia Taglialatela
4f78319219 Fix RuboCop offence 2017-09-17 19:33:05 +02:00
Darren Cheng
967ff8dcc0 Patch Enumerator.new ArgumentError. 2017-08-28 19:38:08 -07: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
81a13c4b32 Merge pull request #2093 from bf4/undef_unneeded_kernel_methods
Undef problematic Object methods
2017-04-30 16:51:19 -07:00
Benjamin Fleischer
6e41528515 Skip eval relationships object on belongs to 2017-04-30 18:32:08 -05:00
Benjamin Fleischer
320596b75b Undef problematic Object methods 2017-04-30 17:56:13 -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
ba2aa1fdfd Remove dead comments 2017-04-23 14:18:09 -05:00
Benjamin Fleischer
43c3c231ef Use reflection key since we have it 2017-04-23 14:17:59 -05:00
Benjamin Fleischer
3ba4a8c9b2 Always return an enumerator 2017-04-23 14:17:06 -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
80e470dcdb Merge pull request #2074 from bf4/make_serializer_interface_more_obvious
Make serializer interface more obvious
2017-03-18 22:41:02 -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
47e82e09b1 Make behavior explicit 2017-03-12 20:18:48 -05:00
Benjamin Fleischer
9c26ffe2d6 Better variables; allow looking serializer from class 2017-03-12 20:16: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