Matt Eddy
21ae4aaa0a
Allow fieldsets to specify no attributes/relationships
2019-10-04 12:50:22 -04:00
Larissa Reis
9fa26fa588
Allow block for id customization
...
Allow an ID of object to be customized directly on the serializer by
passing a block to `set_id` as opposed to only through a model property.
We already allow for attributes that do not have a model property of the
same name to be customized directly on the serializer using a block.
This customization can be useful in situation in which you have
different classes being serialized using the same serializer. For
example, if we have `HorrorMovie`, `ComedyMovie` and `DramaMovie` using
the same `MovieSerializer`, we can unify their IDs using
```
class MovieSerializer
include FastJsonapi::ObjectSerializer
attributes :name, :year
set_id do |record|
"#{record.name.downcase}-#{record.id}"
end
```
which is preferable to creating a `#serialized_id` method in every model
that will use `MovieSerializer` to encapsulate the customization.
Closes #315
2018-10-10 22:26:57 -06:00
François Pradel
955f4f234d
Add support for polymorphic includes
2018-08-31 19:17:45 -07:00
Igor Khodyrev
e3c45d9b1b
Fix weak entities case (id is not meaningful attribute) with include.
2018-08-22 20:05:51 -07:00
Manoj M J
099eb606bd
Merge branch 'dev' into add_meta
2018-07-21 09:39:33 +05:30
Shishir Kakaraddi
40125072c5
Merge pull request #278 from TrevorHinesley/params-in-nested-includes
...
Params are now passed to nested includes
2018-07-20 19:16:23 -07:00
Erol
e1f782e79f
Add missing fieldset parameter
2018-07-20 18:49:51 -07:00
Manoj M J
dd71bc15d6
Introduce the ability to add meta
tag for every resource in the collection
2018-07-20 10:33:27 +05:30
Trevor Hinesley
dfcbe263fb
Merge branch 'master' into params-in-nested-includes
2018-07-19 09:58:25 -05:00
Trevor Hinesley
07b6e614ac
Params are now passed to nested includes
2018-07-19 09:57:22 -05:00
Erol
fa194133fa
Use record type instead of reflected record type
2018-07-16 21:10:10 -07:00
Erol
ab652c4400
Remove unused code
2018-07-16 21:10:10 -07:00
Erol
a363c90bfb
Allow the serializer to return sparse fieldsets
2018-07-16 21:10:10 -07:00
Erol
5905497314
Use record type instead of reflected record type
2018-07-16 21:07:57 -07:00
Erol
5aa5dc511c
Remove unused code
2018-07-16 21:07:57 -07:00
Erol
7b44620018
Allow the serializer to return sparse fieldsets
2018-07-16 21:07:57 -07:00
Kyle Reeves
699630d812
create link class
2018-07-03 19:33:34 -07:00
Kyle Reeves
f86a8926f5
make include_relationship? a public method and use it in get_included_records method
2018-07-03 19:33:34 -07:00
Kyle Reeves
6e7d8b7ee0
make fetch_associated_object a public method on relationship class so it can be called from SerilizationCore class
2018-07-03 19:33:34 -07:00
Kyle Reeves
22d412246f
WIP
2018-07-03 19:33:34 -07:00
Kyle Reeves
7b23adddc4
working on new relationship class
2018-07-03 19:33:34 -07:00
Trevor Hinesley
f864099761
Conditional relationships should be removed from included when proc evaluates to false
2018-07-03 19:33:34 -07:00
Kyle Reeves
5558dcd703
allow conditional relationships
2018-07-03 19:33:34 -07:00
Trevor Hinesley
5c820695b3
Split attribute serialization into its own class
2018-06-21 18:38:42 -07:00
Trevor Hinesley
bad004fd42
Allow conditional attributes
2018-06-21 18:38:42 -07:00
homer
44d5e0f9c5
Fix serialization for nested nil includes with block
2018-05-31 17:16:54 -07:00
Shishir Kakaraddi
cd1bc0968e
dont create a object for a has one relationship unnecessarily just to fetch id
2018-05-20 15:11:07 -07:00
Shishir Kakaraddi
ea5296ac25
making object level links similar to attributes
2018-05-20 15:08:47 -07:00
Jodi Showers
74f27ccdf0
Links within data ( #161 )
2018-05-20 13:14:46 -07:00
Ryan O'Donnell
b090391551
Fix serialization for nested nil includes
2018-05-18 19:06:16 -07:00
Shishir Kakaraddi
00d3aa4997
adding NotImplementedError when trying to include polymorphic relationships
2018-05-10 23:22:21 -07:00
Shishir Kakaraddi
d7f5c34404
fixes a syntax error
2018-05-10 22:13:59 -07:00
Jodi Showers
3ebf34928c
Serialize nested includes ( #152 )
2018-05-10 21:17:32 -07:00
Shishir Kakaraddi
63f905ab36
adds params to relatinoship blocks and tests
2018-05-08 22:11:22 -07:00
Shuhei Kitagawa
e39de8c8c4
Enable to use block to define relationship
2018-05-06 10:26:38 -07:00
Zino
f4f289a0bc
Remove duplicate id_hash call from #record_hash
2018-05-03 20:50:03 -07:00
Brandon Buck
a585497161
Add in options[:scope] and receiving scope in attribute blocks ( #153 )
2018-05-01 09:58:01 -07:00
Dillon Welch
1b3b533b40
Don't allocate variables if we're not going to use them
2018-04-26 19:33:20 -07:00
Dillon Welch
da275e189d
Add default hash option to id_hash
2018-04-26 19:33:20 -07:00
Dillon Welch
ca0f600ed9
Use id_hash method instead of duplicating logic
2018-04-26 19:33:20 -07:00
Shuhei Kitagawa
4fdf5a221c
Enable to set race_condition_ttl for cache_options
2018-04-08 22:53:31 -07:00
Shuhei Kitagawa
0d8bbedcdd
Change transform_method to accessor
2018-03-29 17:22:51 -07:00
Dmitriy Ivliev
1196db46e5
add exception for missing id method
2018-03-26 22:38:14 -07:00
Dmitriy Ivliev
c2e4c01bf1
fix behaviour for struct without id
2018-03-26 22:38:14 -07:00
Shuhei Kitagawa
4f3a903e64
Remove redundant fetch from ids_hash_from_record_and_relationship
2018-03-26 22:12:07 -07:00
Shuhei Kitagawa
43239aff49
Enable to set customized id column
2018-03-18 08:29:13 -07:00
Shuhei Kitagawa
b4eaa04c09
Add frozen_string_literal: true
2018-03-12 22:20:48 -07:00
Shuhei Kitagawa
8c630d9b1c
Remove unused local variables from #relationships_hash
2018-03-12 22:20:09 -07:00
Christopher Sansone
b30a53bc5f
ability to customize rendering of attributes via a block ( #54 )
...
* add hash benchmarking to performance tests
* Add missing attribute in README example
* Disable GC before doing performance test
* Enable oj to AM for fair benchmark test
* ability to customize rendering of attributes via a block
* fixed attribute render spec
* minimized specs to specifially test this feature
* Update README to include attribute definitions
* Fixed syntax error
* Fixed merge issues
2018-02-09 08:59:07 -08:00
Roberto Quintanilla
6d516c217c
Support for polymorphic associations ( #64 )
...
* add hash benchmarking to performance tests
* Add missing attribute in README example
* Disable GC before doing performance test
* Enable oj to AM for fair benchmark test
* Support for polymorphic associations
* Optional dictionary for polymorphic associations
* Added polymorphic record types memoization
* Updated performance tests for polymorphic examples to include jsonapi-rb
2018-02-08 22:18:46 -08:00