lib/activesearch/algolia.rb in activesearch-0.1.2 vs lib/activesearch/algolia.rb in activesearch-0.1.3
- old
+ new
@@ -1,6 +1,7 @@
require "activesearch/algolia/client"
+require "activesearch/algolia/worker"
require "activesearch/base"
require "activesearch/proxy"
module ActiveSearch
def self.search(text, conditions = {})
@@ -24,27 +25,24 @@
protected
def self.conditions_to_tags(conditions)
conditions.map { |c| c.join(':') }.join(',')
end
- module Algolia
+ module Algolia
def self.included(base)
base.class_eval do
include Base
end
end
protected
def reindex
- algolia_client.save(indexable_id, self.to_indexable)
- rescue
- self.touch
- false
+ Worker.new.async.perform(task: :reindex, id: indexable_id, doc: self.to_indexable)
end
def deindex
- algolia_client.delete(indexable_id)
+ Worker.new.async.perform(task: :deindex, id: indexable_id)
end
def to_indexable
doc = {}
search_fields.each do |field|
@@ -54,12 +52,8 @@
(Array(search_options[:store]) - search_fields).each do |field|
doc["_tags"] ||= []
doc["_tags"] << "#{field}:#{self.send(field)}"
end
doc
- end
-
- def algolia_client
- @algolia_client ||= Client.new
end
end
end
\ No newline at end of file