module Elasticsearch::Model::Callbacks
Allows to automatically update index based on model changes, by hooking into the model lifecycle.
@note A blocking HTTP request is done during the update process.
If you need a more performant/resilient way of updating the index, consider adapting the callbacks behaviour, and use a background processing solution such as [Sidekiq](http://sidekiq.org) or [Resque](https://github.com/resque/resque).
Public Class Methods
included(base)
click to toggle source
When included in a model, automatically injects the callback subscribers (‘after_save`, etc)
@example Automatically update Elasticsearch
index when the model changes
class Article include Elasticsearch::Model include Elasticsearch::Model::Callbacks end Article.first.update_attribute :title, 'Updated' # SQL (0.3ms) UPDATE "articles" SET "title" = ... # 2013-11-20 15:08:52 +0100: POST http://localhost:9200/articles/article/1/_update ...
# File lib/elasticsearch/model/callbacks.rb, line 28 def self.included(base) adapter = Adapter.from_class(base) base.__send__ :include, adapter.callbacks_mixin end