module AlgoliaSearch::InstanceMethods
these are the instance methods included
Public Class Methods
included(base)
click to toggle source
# File lib/algoliasearch-rails.rb, line 981 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
algolia_enqueue_index!(synchronous)
click to toggle source
# File lib/algoliasearch-rails.rb, line 1004 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
algolia_enqueue_remove_from_index!(synchronous)
click to toggle source
# File lib/algoliasearch-rails.rb, line 996 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
algolia_index!(synchronous = false)
click to toggle source
# File lib/algoliasearch-rails.rb, line 988 def algolia_index!(synchronous = false) self.class.algolia_index!(self, synchronous || algolia_synchronous?) end
algolia_remove_from_index!(synchronous = false)
click to toggle source
# File lib/algoliasearch-rails.rb, line 992 def algolia_remove_from_index!(synchronous = false) self.class.algolia_remove_from_index!(self, synchronous || algolia_synchronous?) end
Private Instance Methods
algolia_mark_for_auto_indexing()
click to toggle source
# File lib/algoliasearch-rails.rb, line 1022 def algolia_mark_for_auto_indexing @algolia_auto_indexing = true end
algolia_mark_must_reindex()
click to toggle source
# File lib/algoliasearch-rails.rb, line 1026 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) && is_a?(Sequel::Model) new? || self.class.algolia_must_reindex?(self) else new_record? || self.class.algolia_must_reindex?(self) end true end
algolia_mark_synchronous()
click to toggle source
# File lib/algoliasearch-rails.rb, line 1018 def algolia_mark_synchronous @algolia_synchronous = true end
algolia_perform_index_tasks()
click to toggle source
# File lib/algoliasearch-rails.rb, line 1038 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
algolia_synchronous?()
click to toggle source
# File lib/algoliasearch-rails.rb, line 1014 def algolia_synchronous? @algolia_synchronous == true end