Commit Graph

75 Commits

Author SHA1 Message Date
Benjamin Fleischer
772b7999c5 Better AMS Model attributes interface 2016-11-21 09:14:26 -06:00
L. Preston Sego III
aa4d89ab47 remove dynamic class creation where not needed (#1850)
* remove dynamic class creation where not needed
2016-07-18 14:11:09 -05:00
Alexey Dubovskoy
f15f6850de re: RuboCop: Bulk minor style corrections 2016-06-20 22:12:16 +01: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
cgmckeever
bbed12864d adds polymorphic option to association definition which includes association type in serializer
regen gemlock

regen gemlock

better variable naming

rubocop fixes

adds to changelog

adds empty relationship and has_many polymorph tests

indent

test cleaning

-rubocop

rubocop

rubocop

rubocop

changelog

remove silly .DS

fix roque failure

fix
2016-05-17 12:30:59 -05:00
Lucas Hosseini
ebda34b3d3 Fix tests to comply with the JSON API spec. 2016-04-20 03:08:54 +02: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
d50d29b601 Cleaning up Caching Tests 2016-03-30 09:53:21 -05:00
Benjamin Fleischer
fb06a462bb Fix warnings 2016-03-25 10:28:13 -05:00
Marc Garreau
045fa9bc07 Adds polymorphic tests and documentation 2016-03-15 13:09:59 -06:00
Benjamin Fleischer
0ba944dabf RFC: Json Api Errors (WIP)
- ActiveModelSerializers::JsonPointer
- ActiveModel::Serializer::Adapter::JsonApi::Error
- ActiveModel::Serializer::Adapter::JsonApi::Error.attributes
- Fix rubocop config
2016-03-06 12:03:14 -06:00
Ben Woosley
c8839f427b Remove defunct .root_name from test fixtures
Was removed elsewhere in
7847d05ecb
2016-01-11 17:16:00 -08:00
Benjamin Fleischer
d7de53ce30 Consider evaluating association in serializer context
For discussion:

Consider evaluating association in serializer context

That way, associations are really just anything that
can be conditionally included.  They no longer
have to actually be methods on the object or serializer.

e.g.

```diff
has_many :comments do
- last(1)
+ Comment.active.for_serialization(object).last(1)
end
```
2015-12-29 22:16:42 -06:00
Benjamin Fleischer
8804d758ef Remove dynamically defined instance methods 2015-12-02 17:20:22 -06:00
Benjamin Fleischer
d2a11678ef ActiveModel::AttributeAssignment requires Model#respond_to_missing? 2015-11-25 21:56:01 -06:00
Benjamin Fleischer
2c8b9b796d Rename ArraySerializer to CollectionSerializer for clarity 2015-10-21 16:53:26 -05:00
Benjamin Fleischer
124faaa829 Add PORO serializable base class: ActiveModelSerializers::Model 2015-10-14 21:33:02 -05:00
Benjamin Fleischer
9d65f0adc5 Distinguish options ivar from local; Extract latent Adapter::CachedSerializer 2015-09-17 10:45:09 -05:00
Bruno Bacarini
8634503849 Remove url options
Removing url options because It does not works at all.
Thus, there are others PR at the moment to include url(links) as well.
2015-09-07 12:13:19 -03:00
Benjamin Fleischer
228cc1c92a Rubocop: Consistent spacing 2015-09-03 20:51:40 -05:00
Benjamin Fleischer
bdfe13c527 Style/StringLiterals single quote all the things 2015-09-03 20:50:45 -05:00
Benjamin Fleischer
09c97de90d Add Style enforcer (via Rubocop)
It will fail the build, but as it is currently,
most of the cops are 'todos'. Great for new contributors.. :)
2015-09-03 20:50:45 -05:00
João Moura
e0b74d8731 Merge pull request #1096 from beauby/fix-attribute
Fix definition of serializer attributes with multiple calls to `attri…
2015-09-01 09:42:59 -03:00
João Moura
8d3a89e106 Merge pull request #1105 from beauby/add-activerecord-fixtures
Add ActiveRecord-backed fixtures.
2015-08-31 02:37:57 -03:00
Lucas Hosseini
83f11acd66 Add Gemfile dependencies to ActiveRecord and sqlite3. 2015-08-31 06:19:16 +02:00
Lucas Hosseini
d0d00d02a0 Add ActiveRecord-backed fixtures. 2015-08-31 05:11:32 +02:00
Lucas Hosseini
c5446d759f Remove traces of embed option. 2015-08-31 01:26:22 +02:00
Lucas Hosseini
995bbcc18d Fix definition of serializer attributes with multiple calls to attribute instead of one single call to attributes. 2015-08-28 21:06:10 +02:00
Benjamin Fleischer
d315151e8a Fix warnings
JRuby-specific: fix 'warning: (...) interpreted as grouped expression'
2015-08-26 09:22:02 -05:00
Benjamin Fleischer
dca286b0ec Lead by example: lint PORO model 2015-08-18 12:59:12 -04:00
Aaron Lerch
35c8f0d835 Update fragment cache to support namespaced objects 2015-08-17 17:12:30 -04:00
Rodrigo Ra
df63b59512 Add key option to serializer associations 2015-07-05 19:47:58 -03:00
Benjamin Fleischer
1bf2825909 Remove unused PORO#to_param 2015-07-02 16:34:10 -05:00
Hugo Almeida
f25071ca70 Fixes virtual value not being used 2015-06-29 10:48:12 +09:00
Justin Aiken
3710c32cee Add some failing tests around has_many assocs...
..where no serializer is defined for the thing that is has_many'd
2015-06-26 02:16:34 -03:00
Aaron Lerch
6892ca39c9 Default the generated cache key to use custom #strftime instead of raw #to_s to achieve more accurate precision 2015-06-25 23:40:18 -04:00
Lachlan Sylvester
97e82c3eb7 use model name to determine the type 2015-06-13 19:45:46 +10:00
João Moura
6251b90d25 Merge pull request #902 from cristianbica/serializer_file_digest
Added serializer file digest to the cache_key
2015-06-12 18:56:43 -03:00
Thiago Fernandes Massa
5fac4d8f33 Update poro.rb 2015-06-05 10:50:35 +02:00
João Moura
a40df8fd3d reverting PR #909 and adding json api usage advise on readme 2015-05-27 18:35:00 -03:00
João Moura
5f05944826 Merge pull request #918 from aceofsales/rescue_from
Adding rescue_with_handler to clear state
2015-05-20 23:39:45 -03:00
Guillermo Iguaran
f7fb4dbb98 Merge pull request #909 from joaomdmoura/json-api-default
Defining Json-API Adapter as Default
2015-05-20 20:50:19 -05:00
Ryan Schlesinger
a5db2c52c5 Clearer exception description 2015-05-20 09:19:32 -07:00
Ryan Schlesinger
9355416ad0 Add rescue_from handler to clear state
Fixes #917
2015-05-19 17:23:29 -07:00
groyoh
a794a06fa5 Fixed #911 2015-05-17 22:47:44 +02:00
João Moura
2c9c36e21f adding json_api as default adapter 2015-05-10 03:58:18 -03:00
Cristian Bica
7a62d31777 Added serializer file digest to the cache_key
Fixes #901
2015-05-06 08:37:18 +03:00
João Moura
792fb8a905 Adding Fragment Cache to AMS
It's an upgrade based on the new Cache implementation #693.
It allows to use the Rails conventions to cache
specific attributes or associations.
It's based on the Cache Composition implementation.
2015-04-05 18:19:57 -03:00
Mateo Murphy
9480b567ef Refactor TestUser in SerializationScopeNameTest
Use the same base class we use for other test models
2015-03-23 13:44:30 -04:00