Sha256: 3235d4800c8561a703c62ad514f3d8e865bb39c1721da7dffd1873e894814dde
Contents?: true
Size: 1.24 KB
Versions: 24
Compression:
Stored size: 1.24 KB
Contents
module Elasticsearch module Model # 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). # module Callbacks # 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 ... # def self.included(base) adapter = Adapter.from_class(base) base.__send__ :include, adapter.callbacks_mixin end end end end
Version data entries
24 entries across 24 versions & 2 rubygems