module AlgoliaSearch::InstanceMethods
these are the instance methods included
Public Class Methods
Source
# File lib/algoliasearch-rails.rb, line 982 def self.included(base) base.instance_eval do alias_method :index!, :algolia_index! unless method_defined? :index! alias_method :remove_from_index!, :algolia_remove_from_index! unless method_defined? :remove_from_index! end end
Public Instance Methods
Source
# File lib/algoliasearch-rails.rb, line 1005 def algolia_enqueue_index!(synchronous) if algoliasearch_options[:enqueue] algoliasearch_options[:enqueue].call(self, false) unless self.class.send(:algolia_indexing_disabled?, algoliasearch_options) else algolia_index!(synchronous) end end
Source
# File lib/algoliasearch-rails.rb, line 997 def algolia_enqueue_remove_from_index!(synchronous) if algoliasearch_options[:enqueue] algoliasearch_options[:enqueue].call(self, true) unless self.class.send(:algolia_indexing_disabled?, algoliasearch_options) else algolia_remove_from_index!(synchronous || algolia_synchronous?) end end
Source
# File lib/algoliasearch-rails.rb, line 989 def algolia_index!(synchronous = false) self.class.algolia_index!(self, synchronous || algolia_synchronous?) end
Source
# File lib/algoliasearch-rails.rb, line 993 def algolia_remove_from_index!(synchronous = false) self.class.algolia_remove_from_index!(self, synchronous || algolia_synchronous?) end
Private Instance Methods
Source
# File lib/algoliasearch-rails.rb, line 1023 def algolia_mark_for_auto_indexing @algolia_auto_indexing = true end
Source
# File lib/algoliasearch-rails.rb, line 1027 def algolia_mark_must_reindex # algolia_must_reindex flag is reset after every commit as part. If we must reindex at any point in # a stransaction, keep flag set until it is explicitly unset @algolia_must_reindex ||= if defined?(::Sequel) && defined?(::Sequel::Model) && is_a?(Sequel::Model) new? || self.class.algolia_must_reindex?(self) else new_record? || self.class.algolia_must_reindex?(self) end true end
Source
# File lib/algoliasearch-rails.rb, line 1019 def algolia_mark_synchronous @algolia_synchronous = true end
Source
# File lib/algoliasearch-rails.rb, line 1039 def algolia_perform_index_tasks return if !@algolia_auto_indexing || @algolia_must_reindex == false algolia_enqueue_index!(algolia_synchronous?) remove_instance_variable(:@algolia_auto_indexing) if instance_variable_defined?(:@algolia_auto_indexing) remove_instance_variable(:@algolia_synchronous) if instance_variable_defined?(:@algolia_synchronous) remove_instance_variable(:@algolia_must_reindex) if instance_variable_defined?(:@algolia_must_reindex) end
Source
# File lib/algoliasearch-rails.rb, line 1015 def algolia_synchronous? @algolia_synchronous == true end