mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 06:16:50 +00:00
Squashed commits: Add Logging Generates logging when renders a serializer. Tunning performance on notify_active_support - Use yield over block.call - Freeze the event name string Organize the logger architeture * Keep only the `ActiveModel::Serializer.logger` to follow the same public API we have for example to config, like `ActiveModel::Serializer.config.adapter` and remove the `ActiveModelSerializers.logger` API. * Define the logger on the load of the AMS, following the Rails convention on Railties [1], [2] and [3]. This way on non Rails apps we have a default logger and on Rails apps we will use the `Rails.logger` the same way that Active Job do [4]. [1]:2ad9afe4ff/activejob/lib/active_job/railtie.rb (L9-L11)[2]:2ad9afe4ff/activerecord/lib/active_record/railtie.rb (L75-L77)[3]:2ad9afe4ff/actionview/lib/action_view/railtie.rb (L19-L21)[4]:2ad9afe4ff/activejob/lib/active_job/logging.rb (L10-L11)Performance tunning on LogSubscriber#render Move the definition of locals to inside the `info` block this way the code is executed only when the logger is called. Remove not needed check on SerializableResource Use SerializableResource on ActionController integration On the ActionController was using a adapter, and since the instrumentation is made on the SerializableResource we need to use the SerializableResource over the adapter directly. Otherwise the logger is not called on a Rails app. Use SerializableResource on the ActionController, since this is the main interface to create and call a serializer. Using always the SerializableResource we can keep the adapter code more easy to mantain since no Adapter will need to call the instrumentation, only the SerializableResource care about this. Add docs about logging Add a CHANGELOG entry Keep the ActiveModelSerializers.logger Better wording on Logging docs [ci skip] Add doc about instrumentation [ci skip] Use ActiveModel::Callbacks on the SerializableResource
1000 B
1000 B
Docs - ActiveModel::Serializer 0.10.x
This is the documentation of AMS, it's focused on the 0.10.x version.
General
How to
- How to add root key
- How to add pagination links
- Using AMS Outside Of Controllers
- How to use JSON API with Ember
Getting Help
If you find a bug, please report an Issue.
If you have a question, please post to Stack Overflow.
Thanks!
Contributing
See CONTRIBUTING.md