Sha256: e7560fb74925c3d536e093f715ed704b86df4a711a009bbb7c374f67c5f9c121

Contents?: true

Size: 1.16 KB

Versions: 16

Compression:

Stored size: 1.16 KB

Contents

module AlgoliaSearch
  module Utilities
    class << self
      def get_model_classes
        if Rails.application && defined?(Rails.autoloaders) && Rails.autoloaders.zeitwerk_enabled?
          Zeitwerk::Loader.eager_load_all
        elsif Rails.application
          Rails.application.eager_load!
        end
        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

16 entries across 16 versions & 2 rubygems

Version Path
algoliasearch-rails-3.0.1 lib/algoliasearch/utilities.rb
algoliasearch-rails-3.0.0 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.3.2 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.3.1 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.3.0 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.2.2 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.2.1 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.2.0 lib/algoliasearch/utilities.rb
yc-algoliasearch-rails-2.1.4 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.1.4 lib/algoliasearch/utilities.rb
algoliasearch-rails-1.26.0 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.1.3 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.1.2 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.1.1 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.1.0 lib/algoliasearch/utilities.rb
algoliasearch-rails-2.0.0 lib/algoliasearch/utilities.rb