Alexandre de Oliveira
1e4d117b99
Merge pull request #2149 from mecampbellsoup/more-pagination-links-by-default
...
Always include self, first, last pagination links
2017-06-14 15:47:30 -03:00
mecampbellsoup
402883d84f
Fix Travis lint offenses
2017-06-14 13:35:00 -04:00
mecampbellsoup
e4b3224c64
Fix indentation mismatch
2017-06-14 12:53:38 -04:00
mecampbellsoup
b7442e741c
Use symbolized keys for json hash
...
They will be converted to strings when rendered as JSON.
2017-06-14 12:52:29 -04:00
Benjamin Fleischer
1539747a59
Merge pull request #2152 from tannerj/0-10-stable
...
Fix dead link in docs/general/rendering
2017-06-13 20:08:29 -05:00
Joel Tanner Jones
622872ae2b
Fix dead link in docs/general/rendering
...
The add_pageination_links.md is dead in docs/general/rendering on the
0-10-stable branch.
2017-06-13 13:28:24 -04:00
mecampbellsoup
92e9a66e97
Amend tests to always include all pagination keys
2017-06-13 12:35:55 -04:00
mecampbellsoup
16e5204eab
Always include pagination keys but set null values when not needed
2017-06-13 12:09:00 -04:00
mecampbellsoup
ff71ef26eb
Amend pagination controller specs
2017-06-05 18:41:15 -04:00
mecampbellsoup
d8e983604b
Clarify naming of expected response w/ pagination but empty data
2017-06-05 17:51:38 -04:00
mecampbellsoup
7387266c37
Always display self, first, last pagination links
2017-06-05 17:26:41 -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
a5ab62fd18
Merge pull request #2130 from greysteil/allow-id-overwriting
...
Allow serialized ID to be overwritten for belongs-to relationships
2017-05-15 09:24:41 -05:00
Grey Baker
be7ee70376
Allow serialized ID to be overwritten for belongs-to relationships
...
If the `id` attribute for a class isn't taken directly from the object when
serializing it, it may be desirible for other classes that serialize a
relationship with that class to overwrite the relationship IDs they serialize.
For example, suppose we have:
```(ruby)
class Repo < Model
attributes :id, :github_id, :name
associations :configs
end
class Config < Model
attributes :id
belongs_to :repo
end
class RepoSerializer < ActiveModel::Serializer
attributes :id, :name
has_many :update_configs
def id
object.github_id
end
end
class ConfigSerializer < ActiveModel::Serializer
attributes :id
belongs_to :repo
end
```
In the above example, serializing a list of `Repo`s will give the `github_id`
for each one, but serializing a `Config` will give the `id` for its parent repo.
Ideally AMS would inspect the `RepoSerializer` when serializing the `Config`,
and realise it can't just output the foreign key. Unfortunately, getting the
serialization class for the child repo currently requires loading the record
(via evaluating `lazy_assocation`), and loses the performance benefit of the
existing `belongs_to?` path. Instead, I've opted to use
`read_attribute_for_serialization` instead of `object.send` to fetch the
serialized foreign key. This allows the serialized relationship ID to be
overwritten using
```(ruby)
class ConfigSerializer < ActiveModel::Serializer
...
def repo_id
object.repo.github_id
end
end
```
2017-05-13 15:22:18 +01:00
Benjamin Fleischer
b48aeeef1e
Merge branch 'master' into 0-10-stable
2017-05-01 11:04:46 -05:00
Benjamin Fleischer
dff621e174
Bump to v0.10.6
2017-05-01 10:59:14 -05:00
Benjamin Fleischer
982fe26ee8
Merge pull request #2120 from bf4/allow_customizing_relation_foreign_key
...
Document new reflection options; support :foreign_key [ci skip]
2017-05-01 10:56:35 -05:00
Benjamin Fleischer
ec7b5859f7
Document namespace
2017-05-01 10:25:14 -05:00
Benjamin Fleischer
96028a7b99
Document new reflection options; support :foreign_key
2017-05-01 10:18:13 -05:00
Benjamin Fleischer
af5e9d6018
Merge pull request #2104 from cassidycodes/update-docs
...
Update Documentation on Serializers and Rendering [ci skip]
2017-04-30 22:06:10 -07:00
Benjamin Fleischer
05cf2223cf
Merge pull request #2115 from tonyta/update-readme-v0.10.5
...
point to correct latest version in readme [ci skip]
2017-04-30 22:03:13 -07:00
Benjamin Fleischer
004e0dc951
Merge pull request #2119 from bf4/exclude_empty_relationships
...
Return null resource object identifier for blank id
2017-04-30 21:45:10 -07:00
Benjamin Fleischer
73eae19b3d
Return null resource object identifier for blank id
...
Also, fix test where attributes were included when id was ""
```
1) Failure:
ActionController::Serialization::AdapterSelectorTest#test_render_using_adapter_override
[test/action_c$ntroller/adapter_selector_test.rb:53]:
--- expected
+++ actual
@@ -1 +1 @@
-"{\"data\":{\"id\":\"\",\"type\":\"profiles\",\"attributes\":{\"name\":\"Name 1\",\"description\":\"Description 1\"}}}"
+"{\"data\":null}"
```
2017-04-30 23:28:08 -05:00
Benjamin Fleischer
afe0183f21
Merge pull request #2118 from bf4/only_calculate_cache_key_when_caching
...
Do not calculate cache_key unless caching
2017-04-30 21:17:31 -07: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
7d0f4e0a61
Merge pull request #1857 from bf4/smarter_association_id_lookup
...
Smarter association id lookup-- no db hit on belongs_to for id-only
2017-04-30 16:50:49 -07:00
Benjamin Fleischer
6e41528515
Skip eval relationships object on belongs to
2017-04-30 18:32:08 -05:00
Manuel Thomassen
273b7e7f30
belongs_to causes unnecessary db hit
2017-04-30 18:11:37 -05:00
Benjamin Fleischer
4fb635bd29
Required
2017-04-30 17:56:13 -05:00
Benjamin Fleischer
320596b75b
Undef problematic Object methods
2017-04-30 17:56:13 -05:00
Benjamin Fleischer
0f59d64ed5
Merge pull request #2026 from bf4/refactor_association
...
Refactor Association to make it eval reflection JIT
2017-04-30 15:41:09 -07:00
Benjamin Fleischer
876190440f
Update reflection tests
2017-04-30 16:39:25 -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
3fb72d94b5
Merge pull request #2094 from bf4/move_association_concern_to_association
...
Move association serialization to association
2017-04-22 22:14:33 -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
6b1a487e00
Merge pull request #2092 from bf4/reflection_block_changes_meta_links
...
Add reflection tests
2017-04-22 22:12:12 -05:00