Commit Graph

198 Commits

Author SHA1 Message Date
bkoltai
3ecc3ed0c1 Add documentation on upgrading from 0.8 to 0.10 safely 2016-07-13 09:48:07 -07:00
Yogesh Khater
156dc232ce Add doc for setting conditional serialization_scope 2016-06-30 17:14:58 +05:30
Benjamin Fleischer
c029c00758 Merge pull request #1802 from kyleshevlin/update_integrations_ember_and_json_api
update integration documentation for ember and JSONAPI to include…
2016-06-26 22:26:08 -05:00
Francisco Quintero
e8f0dc787e Add note about will_paginate previous_page method (#1801)
* Add note about will_paginate previous_page method

Pagination_dict method in JSON adapter section refers only to kaminari prev_page. Newer version of will_paginate uses previous_page method.

* move annotation for will_paginate's previous_page method to inline comment in example methods definition
2016-06-26 22:17:21 -05:00
Luiz Eduardo Kowalski
d27b21a733 Add docs for the fields option 2016-06-24 07:09:21 +02:00
Christian Trosclair
3d48a2fbf7 Create grape integration documentation. 2016-06-22 22:38:48 -05:00
Kyle Shevlin
4f508a88c9 remove mime type registration, adjust key_transform advice 2016-06-14 22:05:54 -07:00
Scott Kobewka
43b6bae7fe Fixing typo in Serializers guide for including a block after 2016-06-14 14:27:23 -04:00
Kyle Shevlin
8df5b045f2 update integration documentation for ember and JSONAPI to include key_transform underscores to match the attribute and relationship underscore transformations 2016-06-13 22:54:27 -07:00
Benjamin Fleischer
5017bb7f2e Fix spelling
```
cat <<  'EOF' > .git/hooks/pre-push

bundle exec rake rubocop

if command -v misspell >/dev/null; then
  misspell  -w -error -source=text {app,config,lib,spec,test,docs,bin}/**/* 2>/dev/null
fi

EOF
chmod +x .git/hooks/pre-push
```
2016-06-09 03:41:01 -05:00
Spencer Oberstadt
998ca55e3d Fix docs for deserialization (#1768)
I found in the tests that deserialization expects relationships to be under a `relationships` key.
https://github.com/rails-api/active_model_serializers/blob/master/test/action_controller/json_api/deserialization_test.rb#L68
2016-06-01 16:50:15 -04:00
Yohan Robert
b8af2892f7 [skip ci] Fix root key documentation (#1761)
The current documentation stated that it was not possible to override
the root key for the JSON adapter. This was removed from the
documentation and it now links the useful documentation pages.
2016-05-31 13:30:47 -06:00
Lucas Hosseini
f48fd2a327 Extract IncludeTree. (#1685) 2016-05-28 10:07:11 -04:00
Ben Mills
f2cb497fe3 Add key transform performance note to docs (#1753) 2016-05-26 16:19:19 -04:00
Ben Woosley
8c18d18cdb Add default_includes configuration
This is useful to set application-wide default behavior - e.g. in
previous versions of AMS the default behavior was to serialize the
full object graph by default - equivalent to the '**' include tree.

Currently just the global setting, but I think this could also work
on a per-serializer basis, with more attention.
2016-05-26 00:16:14 +00:00
André Aubin
efdee6041b Adding documentation on conditional attributes
Adding documentation and short example ([from this pull request](https://github.com/rails-api/active_model_serializers/pull/1403)) on conditional attributes.

Adding lambda literal notation and example.

Adding lambda literal notation and example, and fixing typo.

Removing PR reminder

Adding Changelog entry

Moving CHANGELOG entry under master (unreleased)

Use option instead of parameter
2016-05-20 00:47:53 +02:00
cgmckeever
ec15fa9de3 Adds documentation for overriding default serializer based on conditions (#1730)
suggested changes

update changelog
2016-05-17 15:28:54 -04: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
Fumiaki MATSUSHIMA
aa087a22b5 String/Lambda support for conditional attributes/associations 2016-04-26 21:37:25 +09:00
Christopher Styles
ad9e69a737 Fix typo in PRIMITIVE HANDLING docs [ci skip] 2016-04-25 20:02:36 -07:00
Lucas Hosseini
4c0e2dcb28 Fix example in docs/general/deserialization.md. 2016-04-18 01:04:50 +02:00
Michał Zając
dcc7af925d Update serializers.md 2016-04-11 14:52:07 +02:00
Benjamin Fleischer
afe3c93807 Add more association documentation (#1635)
[DOC] Add more association documentation
2016-04-10 12:44:37 -05:00
Caleb Sayre
05618eac3d added howto for serializing poro
trying to get styling correct

added changelog entry, link to guide, and fixed indentation
2016-04-09 17:20:46 -04:00
Ben Mills
3498647d1a Apply key transforms to keys referenced in values 2016-04-04 10:16:04 -06:00
Chris Peters
dba85f2720 #1594 - Document generator's auto-extending of (if it exists) 2016-04-02 13:18:07 -04:00
Krzysztof Rybka
37e0fdb0ee Remove wrong quoting in serializers guide 2016-03-31 14:56:07 +02:00
Benjamin Fleischer
fa7b3afbfd Prefer explicitly yielding the serializer, per groyoh 2016-03-30 14:01:28 -05:00
Arti Sinani
9e2edded7c architecture doc fix 2016-03-30 14:18:27 +01:00
Yohan Robert
21cb896802 Move SerializableResource to ActiveModelSerializers namespace
Ref. https://github.com/rails-api/active_model_serializers/pull/1310
2016-03-30 11:33:04 +02:00
Ben Mills
bfff46b66e Add output examples to Adapters docs 2016-03-17 14:07:32 -06:00
Jeffrey Wan
297e1f7e9d Update docs regarding overriding the root key 2016-03-17 10:54:22 -06:00
L. Preston Sego III
88d4fe5b5e Merge pull request #1431 from beauby/deserialization-docs
Add docs for deserialization.
2016-03-17 12:48:55 -04:00
L. Preston Sego III
586ff09cc5 Added more detailed examples to deserialization.md from json_api/deserialization.rb 2016-03-17 07:58:51 -04:00
Ben Mills
9e992358d8 Merge pull request #1574 from remear/key-casing
Provide key transformation
2016-03-15 13:42:24 -06:00
Marc Garreau
045fa9bc07 Adds polymorphic tests and documentation 2016-03-15 13:09:59 -06:00
Ben Mills
c533d1a7fe Provide key case translation 2016-03-15 12:21:10 -06:00
Krzysztof Rybka
7c3f0ec6af Remove wrong quoting in serializers guide 2016-03-14 15:00:46 +01:00
Benjamin Fleischer
b6343a5cd1 Merge pull request #1475 from bf4/rfc/template
Add an RFC template
2016-03-13 00:28:32 -06:00
Benjamin Fleischer
26b089c881 Add serialization_scope example [ci skip] 2016-03-12 19:59:43 -06:00
L. Preston Sego III
0c8abf2483 Merge pull request #1566 from remear/meta-docs
Add resource-level meta docs. Update top-level meta docs.
2016-03-11 10:13:42 -05:00
L. Preston Sego III
bbebeab348 Merge pull request #1280 from vasilakisfil/patch-1
Show how pagination can be done using meta tag from controller in JSON adapter
2016-03-10 12:53:41 -05:00
Ben Mills
4219844c12 Add resource-level meta docs. Update top-level meta docs. 2016-03-08 20:47:22 -07:00
Ben Mills
cc10928472 Provide Rails url_helpers via SerializationContext 2016-03-07 10:40:34 -07:00
Benjamin Fleischer
1a312bc2d3 Merge pull request #1545 from CodedBeardedSignedTaylor/1506-document-passing-arbitrary-options-to-serializer
[DOCS] 1506 document passing arbitrary options to serializer
2016-03-07 01:09:50 -06:00
Benjamin Fleischer
5d7a1a4889 Remove the last of ApiObjects 2016-03-06 23:24:53 -06:00
Benjamin Fleischer
e6ae34b84c Update documentation with Yard links 2016-03-06 20:05:25 -06:00
Benjamin Fleischer
3d986377b6 Collapse JSON API success/failure documents in one adapter
Idea per remear (Ben Mills) in the slack:
https://amserializers.slack.com/archives/general/p1455140474000171

remear:

    just so i understand, the adapter in `render json: resource, status: 422, adapter: 'json_api/error',
    serializer: ActiveModel::Serializer::ErrorSerializer` is a different one than, say what i’ve
    specified in a base serializer with `ActiveModel::Serializer.config.adapter = :json_api`. correct?

    and a followup question of, why not same adapter but different serializer?

me:

   With the way the code is written now, it might be possible to not require a special jsonapi adapter.
   However, the behavior is pretty different from the jsonapi adapter.

   this first draft of the PR had it automatically set the adapter if there were errors.  since that
   requires more discussion, I took a step back and made it explicit for this PR

   If I were to re-use the json api adapter and remove the error one, it think the serializable hash
   method would look like

   ```
   def serializable_hash(options = nil)
     return { errors: JsonApi::Error.collection_errors } if serializer.is_a?(ErrorsSerializer)
     return { errors: JsonApi::Error.resource_errors(serializer) } if serializer.is_a?(ErrorSerializer)
     options ||= {}
   ```

   I suppose it could be something more duckish like

   ```
   def serializable_hash(options = nil)
     if serializer.errors? # object.errors.any? || object.any? {|o| o.errors.any? }
       JsonApi::Error.new(serializer).serializable_hash
     else
       # etc
   ```
2016-03-06 12:03:17 -06:00
Benjamin Fleischer
96107c56aa Require explicit adapter/serializer to render JSON API errors
- Separate collection errors from resource errors in adapter
- Refactor to ErrorsSerializer; first-class json error methods
- DOCS
- Rails 4.0 requires assert exact exception class, boo
2016-03-06 12:03:17 -06:00
Taylor Jones
48f8a892e6 a little bit more trimming 2016-03-04 11:14:43 -05:00
Taylor Jones
60a207bb0d wrong link 2016-03-04 11:12:09 -05:00
Taylor Jones
32c6bccec7 edits and rearranging logic 2016-03-04 11:09:38 -05:00
Taylor Jones
da55cd181c addressing comments / concerns 2016-03-01 08:40:45 -05:00
Taylor Jones
e9f259697a addressing pull request comments 2016-02-29 10:56:14 -05:00
CodedBeardedSignedTaylor
6a8da1f664 adding ruby tag to code blocks 2016-02-28 22:45:45 -05:00
bobba surendranath chowdary
8b5da690fe Removes DESIGN.textile doc and update ARCHITECTURE.md
The old DESIGN.textile was removed and replace by reference to 0.8 and
0.9 READMEs within the ARCHITECTURE.md docs.
2016-02-29 04:41:47 +01:00
CodedBeardedSignedTaylor
558769981e rough draft 2016-02-28 22:41:26 -05:00
Yohan Robert
8a040052af Merge pull request #1535 from bf4/domitian-move-namespace-of-adapter-to-active-model-serializers
Moved the adapter and adapter folder to active_model_serializers folder and changed the module namespace
2016-02-28 12:58:36 +01:00
Ben Mills
5d9039e172 Adjust GitHub templates 2016-02-26 10:43:52 -07:00
Benjamin Fleischer
e35390623d Improve adapter test coverage per groyoh 2016-02-25 23:08:20 -06:00
Benjamin Fleischer
25c9df0b97 Merge branch 'master' into domitian-move-namespace-of-adapter-to-active-model-serializers
Conflicts:
	CHANGELOG.md
	lib/active_model/serializer/adapter/attributes.rb
	lib/active_model/serializer/adapter/cached_serializer.rb
	lib/active_model/serializer/adapter/fragment_cache.rb
	lib/active_model/serializer/adapter/json_api.rb
	lib/active_model/serializer/adapter/json_api/link.rb
	test/adapter/fragment_cache_test.rb
	test/adapter/json_api/links_test.rb
	test/adapter/json_api/resource_type_config_test.rb
2016-02-23 23:21:49 -06:00
bobba surendranath chowdary
252f9c4ae9 Moved the adapter and adapter folder to active_model_serializers folder and changed the module namespace
Changed the namespace in adapters and folder to active_model_serializers from active_model::serializer

Changed namespace of adapters in serializers and other folders

Moved adapter_for_test file to active_model_serializers folder and changed namespace of adapter inside the test file

Require ActiveSupport's string/inflections

We depend on string/inflections to define String#underscore.

Refactor JsonApi adapter to avoid redundant computations.

Update readme.md to link to v0.10.0.rc4

changed namespace of adapter folder testcases

Changed all namespaces of adapter under active_moder_serializers

Namespaced IncludeTree which is from serializer module, so needed to namespace it properly

Fixed wrong namsepacing of fieldset

namespace change in deserializer json_api

Fixed the namespace for collection serializer when used inside adapter, changed namespace for adapter to new namespace which I had forgotten previously

Modified logging test and adapter test cases to make the testcases pass

Changed the yardoc links,as old links are not taking to documentation pages,proper links for 0.10,0.9 and 0.8 in rubydoc

Rubocop errors are fixed by underscore naming unused variables

Moved the require of adapter to serializable resource

Remoeved adapter dependency inside serializer and added warning to Serializer::adapter method

Fixed frament cache test which is calling Serializer.adapter

Changed the name of lookup_adapter_from_config to configured_adapter

Changed the docs which will show the new namespace of adapters

Rubocop fix
2016-02-23 21:49:58 -06:00
Yohan Robert
727d7631ae Add symbol support for ActiveModel::Serializer.type method
The ActiveModel::Serializer.type method now accepts symbol as paremeter:
class AuthorSerializer < ActiveModel::Serializer
  type :profile
end
The test file for the type was also refactored.
2016-02-19 17:05:13 +01:00
Benjamin Fleischer
344d09d36e Merge pull request #1472 from edwinlunando/master
[DOC] update JSON adapter pagination links how to guide
2016-02-12 14:13:40 -06:00
Benjamin Fleischer
5b953ff40f Address concerns from #1018 commit c59668e 2016-02-08 17:55:15 -06:00
Benjamin Fleischer
c59668e7a8 Merge branch 'leandrocp-add-top-level-links'
Needs followup
- https://github.com/rails-api/active_model_serializers/pull/1018#discussion_r51733900
- https://github.com/rails-api/active_model_serializers/pull/1018#discussion_r51734779
- https://github.com/rails-api/active_model_serializers/pull/1018#discussion_r51735145
- https://github.com/rails-api/active_model_serializers/pull/1018#discussion_r51735218
2016-02-08 17:44:05 -06:00
bobba surendranath chowdary
68f09e59c4 Fixed a documentation error regarding adapter key constant, added tests
for SerializableResource::use_adapter?
2016-02-08 15:27:56 +05:30
Leandro Cesquini Pereira
b55fc32ba2 improve doc as suggested by @bf4 2016-02-03 10:22:17 -02:00
Leandro Cesquini Pereira
1844c162f1 Adds support for top-level links to JsonApi adapter
http://jsonapi.org/format/#document-top-level

fix failing tests

support for top-level links limited to jsonapi adapter

Move docs from README to docs/ dir

move links to json-api adapter & create Links class to hold links data
2016-02-03 10:16:22 -02:00
Peter Wagenet
efdd466147 Namespace is included in auto-registered adapters [ci skip] 2016-01-28 15:48:18 -08:00
Peter Wagenet
75fdbfa992 Adapters inherit from Adapter::Base 2016-01-28 14:27:53 -08:00
Benjamin Fleischer
7d4f47d4a2 Add an RFC template 2016-01-28 12:59:57 -06:00
Benjamin Fleischer
65093055d6 Merge pull request #1310 from maurogeorge/patch-12
RFC: Primary namespace: ActiveModel::Serializer, ActiveModel::Serializers, vs. ActiveModelSerializers
2016-01-28 12:54:52 -06:00
Edwin Lunando
2678896a9c update JSON adapter pagination links 2016-01-28 13:51:19 +07:00
Nate Sullivan
0a937a0fba Use new block-based attribute override in docs 2016-01-23 18:59:18 -08:00
Nate Sullivan
da85d944d4 Remove unrelated code from attribute override examples 2016-01-23 18:50:18 -08:00
Benjamin Fleischer
8981683b9f Merge pull request #1352 from bf4/railties
Fix generators (@dgynn); load Railtie only with Rails, ensures caching configured
2016-01-18 23:24:40 -05:00
Lucas Hosseini
f2d59b20ca Update rendering.md 2016-01-17 16:58:35 +01:00
Benjamin Fleischer
d3bdc9be57 Replace load hook :active_model_serializers with :action_controller 2016-01-15 01:58:14 -06:00
Benjamin Fleischer
92e8a0a246 Merge pull request #1417 from koryteg/custom_root_docs
[DOCS] added documentation for adding custom root
2016-01-15 00:52:56 -06:00
Mauro George
5058694f4a Create assert_response_schema test helper
It is a common pattern to use JSON Schema to validate a API response[1], [2]
and [3].

This patch creates the `assert_response_schema` test helper that helps people do
this kind of validation easily on the controller tests.

[1]: https://robots.thoughtbot.com/validating-json-schemas-with-an-rspec-matcher
[2]: https://github.com/sharethrough/json-schema-rspec
[3]: https://github.com/rails-api/active_model_serializers/issues/1011#issuecomment-127608121
2016-01-15 00:45:56 -06:00
Mauro George
2f8c430a09 Update the RFC to use ActiveModelSerializers
After some internal discussion was decided to use the ActiveModelSerializers
namespace.

This patch update the content following this idea.

Ref:
https://github.com/rails-api/active_model_serializers/pull/1310/files#r45947587
https://github.com/rails-api/active_model_serializers/pull/1310/files#r47144210
2016-01-14 19:21:33 -02:00
Benjamin Fleischer
e60937bc2f Remove duplicate documentation 2016-01-13 21:47:08 -06:00
Mauro George
c0b99c980c Bring back assert_serializer for controller testing
The `assert_serializer` test helper was added in 0.9.0.apha1[1],
and was not included in 0.10.

This patch brings back the `assert_serializer` test helper. This is the last
revision[2] that has the helper. The original helper was used as base.

[1]: https://github.com/rails-api/active_model_serializers/pull/596
[2]: 610aeb2e92

- Create the AssertSerializer

- Use the Test namespace

- Make the tests pass on the Rails master
  - Rails 5 does not include `assert_template` but we need this on the tests of
the helper.
  - This add the `rails-controller-testing` to keep support on `assert_template`.

- Only load test helpers in the test environment
2016-01-13 20:54:22 -06:00
Benjamin Fleischer
dde843d162 Add serialization docs PR request note for conditional attributes 2016-01-13 10:19:07 -06:00
Igor Zubkov
aa8e306782 Fix ARCHITECTURE.md 2016-01-13 17:45:18 +02:00
Lucas Hosseini
3aeb34b0b8 Add docs for deserialization. 2016-01-13 08:40:38 +01:00
Kory Tegman
aeefb6a080 revised docs to reflect the feedback 2016-01-06 22:21:19 -08:00
Kory Tegman
d153dfe2cd added documentation for adding custom root 2016-01-06 15:57:49 -08:00
Mauro George
a183645ed4 Create the Namespace RFC
[ci skip]

Update the RFC adding info from discussion

[ci skip]
2016-01-06 19:13:31 -02:00
Benjamin Fleischer
81b1654c4e Merge pull request #1388 from bf4/restore_docs_from_older_releases
Restore docs from older releases
2016-01-03 23:10:41 -06:00
George Millo
fdbc13c2de fix broken link 2015-12-31 16:44:54 +01:00
CorainChicago
66b068c542 fix link on Getting Started
update link on Getting Started to use the relative path
2015-12-29 22:52:22 -06:00
Benjamin Fleischer
7d678844ae Add original design doc from 0.8
https://github.com/rails-api/active_model_serializers/blob/0-8-stable/DESIGN.textile
2015-12-23 09:45:45 -06:00
Benjamin Fleischer
fce856fc83 Merge pull request #1371 from bf4/documentation_updates
[DOCS] Refactor, update, create documentation
2015-12-20 22:30:44 -06:00
Benjamin Fleischer
30fd9d9eb7 Merge pull request #1353 from bf4/disable_serializer_lookup
Allow users to globally opt out of automatic serializer lookup
2015-12-20 20:04:16 -06:00
Benjamin Fleischer
13c9a90fa5 Fix grammar per nullvoxpopli [ci skip] 2015-12-16 12:56:55 -06:00
Benjamin Fleischer
9c3431db9e Fix grammar per duduribeiro [ci skip] 2015-12-15 21:34:25 -06:00
Benjamin Fleischer
51af5a4b76 fix typo caught by duduribeiro 2015-12-15 21:29:39 -06:00
Benjamin Fleischer
ce17a1b305 [DOCS] Refactor, update, create documentation [ci skip] 2015-12-14 14:38:29 -06:00