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