diff --git a/lib/searchkick.rb b/lib/searchkick.rb index ac4e479..ac09a31 100644 --- a/lib/searchkick.rb +++ b/lib/searchkick.rb @@ -17,15 +17,9 @@ require "searchkick/record_indexer" require "searchkick/results" require "searchkick/version" +require "searchkick/railtie" if defined?(Rails) require "searchkick/logging" if defined?(ActiveSupport::Notifications) -begin - require "rake" -rescue LoadError - # do nothing -end -require "searchkick/tasks" if defined?(Rake) - # background jobs begin require "active_job" diff --git a/lib/searchkick/railtie.rb b/lib/searchkick/railtie.rb new file mode 100644 index 0000000..03681ff --- /dev/null +++ b/lib/searchkick/railtie.rb @@ -0,0 +1,7 @@ +module Searckick + class Railtie < Rails::Railtie + rake_tasks do + load "tasks/searchkick.rake" + end + end +end diff --git a/lib/searchkick/tasks.rb b/lib/searchkick/tasks.rb deleted file mode 100644 index b118fd8..0000000 --- a/lib/searchkick/tasks.rb +++ /dev/null @@ -1,29 +0,0 @@ -namespace :searchkick do - desc "reindex model" - task reindex: :environment do - if ENV["CLASS"] - klass = ENV["CLASS"].constantize rescue nil - if klass - klass.reindex - else - abort "Could not find class: #{ENV['CLASS']}" - end - else - abort "USAGE: rake searchkick:reindex CLASS=Product" - end - end - - if defined?(Rails) - namespace :reindex do - desc "reindex all models" - task all: :environment do - Rails.application.eager_load! - Searchkick.models.each do |model| - puts "Reindexing #{model.name}..." - model.reindex - end - puts "Reindex complete" - end - end - end -end diff --git a/lib/tasks/searchkick.rake b/lib/tasks/searchkick.rake new file mode 100644 index 0000000..b925c61 --- /dev/null +++ b/lib/tasks/searchkick.rake @@ -0,0 +1,27 @@ +namespace :searchkick do + desc "reindex model" + task reindex: :environment do + if ENV["CLASS"] + klass = ENV["CLASS"].constantize rescue nil + if klass + klass.reindex + else + abort "Could not find class: #{ENV['CLASS']}" + end + else + abort "USAGE: rake searchkick:reindex CLASS=Product" + end + end + + namespace :reindex do + desc "reindex all models" + task all: :environment do + Rails.application.eager_load! + Searchkick.models.each do |model| + puts "Reindexing #{model.name}..." + model.reindex + end + puts "Reindex complete" + end + end +end -- libgit2 0.21.0