mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 22:36:50 +00:00
41 lines
1002 B
Markdown
41 lines
1002 B
Markdown
[Back to Guides](../README.md)
|
|
|
|
# Instrumentation
|
|
|
|
ActiveModelSerializers uses the
|
|
[ActiveSupport::Notification API](http://guides.rubyonrails.org/active_support_instrumentation.html#subscribing-to-an-event),
|
|
which allows for subscribing to events, such as for logging.
|
|
|
|
## Events
|
|
|
|
Name:
|
|
|
|
`render.active_model_serializers`
|
|
|
|
Payload (example):
|
|
|
|
```ruby
|
|
{
|
|
serializer: PostSerializer,
|
|
adapter: ActiveModel::Serializer::Adapter::Attributes
|
|
}
|
|
```
|
|
|
|
Subscribing:
|
|
|
|
```ruby
|
|
ActiveSupport::Notifications.subscribe 'render.active_model_serializers' do |name, started, finished, unique_id, data|
|
|
# whatever
|
|
end
|
|
ActiveSupport::Notifications.subscribe 'render.active_model_serializers' do |*args|
|
|
event = ActiveSupport::Notifications::Event.new(*args)
|
|
# event.payload
|
|
# whatever
|
|
end
|
|
```
|
|
|
|
## [LogSubscriber](http://api.rubyonrails.org/classes/ActiveSupport/LogSubscriber.html)
|
|
|
|
ActiveModelSerializers includes an `ActiveModelSerializers::LogSubscriber` that attaches to
|
|
`render.active_model_serializers`.
|