Sha256: 0190a75f1ff1e44668fc3891c116b99157a77e86cacf037fa1aebaf1c5fa0a2c

Contents?: true

Size: 1.08 KB

Versions: 5

Compression:

Stored size: 1.08 KB

Contents

module AlgoliaSearch
  module Utilities
    class << self
      def get_model_classes
        Rails.application.eager_load! if Rails.application # Ensure all models are loaded (not necessary in production when cache_classes is true).
        AlgoliaSearch.instance_variable_get :@included_in
      end

      def clear_all_indexes
        get_model_classes.each do |klass|
          klass.clear_index!
        end
      end

      def reindex_all_models
        klasses = get_model_classes

        puts ''
        puts "Reindexing #{klasses.count} models: #{klasses.to_sentence}."
        puts ''

        klasses.each do |klass|
          puts klass
          puts "Reindexing #{klass.count} records..."
          klass.algolia_reindex
        end
      end

      def set_settings_all_models
        klasses = get_model_classes

        puts ''
        puts "Pushing settings for #{klasses.count} models: #{klasses.to_sentence}."
        puts ''

        klasses.each do |klass|
          puts "Pushing #{klass} settings..."
          klass.algolia_set_settings
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
algoliasearch-rails-1.24.1 lib/algoliasearch/utilities.rb
algoliasearch-rails-1.24.0 lib/algoliasearch/utilities.rb
algoliasearch-rails-1.23.2 lib/algoliasearch/utilities.rb
algoliasearch-rails-1.23.1 lib/algoliasearch/utilities.rb
algoliasearch-rails-1.23.0 lib/algoliasearch/utilities.rb