module MeiliSearch::InstanceMethods

these are the instance methods included

Public Class Methods

included(base) click to toggle source
# File lib/meilisearch-rails.rb, line 855
def self.included(base)
  base.instance_eval do
    alias_method :index!, :ms_index! unless method_defined? :index!
    alias_method :remove_from_index!, :ms_remove_from_index! unless method_defined? :remove_from_index!
  end
end

Public Instance Methods

ms_enqueue_index!(synchronous) click to toggle source
# File lib/meilisearch-rails.rb, line 878
def ms_enqueue_index!(synchronous)
  if meilisearch_options[:enqueue]
    meilisearch_options[:enqueue].call(self, false) unless self.class.send(:ms_indexing_disabled?, meilisearch_options)
  else
    ms_index!(synchronous)
  end
end
ms_enqueue_remove_from_index!(synchronous) click to toggle source
# File lib/meilisearch-rails.rb, line 870
def ms_enqueue_remove_from_index!(synchronous)
  if meilisearch_options[:enqueue]
    meilisearch_options[:enqueue].call(self, true) unless self.class.send(:ms_indexing_disabled?, meilisearch_options)
  else
    ms_remove_from_index!(synchronous || ms_synchronous?)
  end
end
ms_index!(synchronous = false) click to toggle source
# File lib/meilisearch-rails.rb, line 862
def ms_index!(synchronous = false)
  self.class.ms_index!(self, synchronous || ms_synchronous?)
end
ms_remove_from_index!(synchronous = false) click to toggle source
# File lib/meilisearch-rails.rb, line 866
def ms_remove_from_index!(synchronous = false)
  self.class.ms_remove_from_index!(self, synchronous || ms_synchronous?)
end

Private Instance Methods

ms_mark_for_auto_indexing() click to toggle source
# File lib/meilisearch-rails.rb, line 896
def ms_mark_for_auto_indexing
  @ms_auto_indexing = true
end
ms_mark_must_reindex() click to toggle source
# File lib/meilisearch-rails.rb, line 900
def ms_mark_must_reindex
  # ms_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
  @ms_must_reindex ||=
   if defined?(::Sequel) && is_a?(Sequel::Model)
     new? || self.class.ms_must_reindex?(self)
   else
     new_record? || self.class.ms_must_reindex?(self)
   end
  true
end
ms_mark_synchronous() click to toggle source
# File lib/meilisearch-rails.rb, line 892
def ms_mark_synchronous
  @ms_synchronous = true
end
ms_perform_index_tasks() click to toggle source
# File lib/meilisearch-rails.rb, line 912
def ms_perform_index_tasks
  return if !@ms_auto_indexing || @ms_must_reindex == false
  ms_enqueue_index!(ms_synchronous?)
  remove_instance_variable(:@ms_auto_indexing) if instance_variable_defined?(:@ms_auto_indexing)
  remove_instance_variable(:@ms_synchronous) if instance_variable_defined?(:@ms_synchronous)
  remove_instance_variable(:@ms_must_reindex) if instance_variable_defined?(:@ms_must_reindex)
end
ms_synchronous?() click to toggle source
# File lib/meilisearch-rails.rb, line 888
def ms_synchronous?
  @ms_synchronous == true
end