Method: Searchkick.callbacks
- Defined in:
- lib/searchkick.rb
.callbacks(value = nil, message: nil) ⇒ Object
message is private
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 |
# File 'lib/searchkick.rb', line 236 def self.callbacks(value = nil, message: nil) if block_given? previous_value = callbacks_value begin self.callbacks_value = value result = yield if callbacks_value == :bulk && indexer.queued_items.any? event = {} if .call(event) else event[:name] = "Bulk" event[:count] = indexer.queued_items.size end ActiveSupport::Notifications.instrument("request.searchkick", event) do indexer.perform end end result ensure self.callbacks_value = previous_value end else self.callbacks_value = value end end |