Commit 7ad4cd0ba7b297349061b1fe9e5d99804713f6ac

Authored by Andrew
1 parent 3ce4ba21

Cleaner rake task integration

lib/searchkick.rb
@@ -17,15 +17,9 @@ require "searchkick/record_indexer" @@ -17,15 +17,9 @@ require "searchkick/record_indexer"
17 require "searchkick/results" 17 require "searchkick/results"
18 require "searchkick/version" 18 require "searchkick/version"
19 19
  20 +require "searchkick/railtie" if defined?(Rails)
20 require "searchkick/logging" if defined?(ActiveSupport::Notifications) 21 require "searchkick/logging" if defined?(ActiveSupport::Notifications)
21 22
22 -begin  
23 - require "rake"  
24 -rescue LoadError  
25 - # do nothing  
26 -end  
27 -require "searchkick/tasks" if defined?(Rake)  
28 -  
29 # background jobs 23 # background jobs
30 begin 24 begin
31 require "active_job" 25 require "active_job"
lib/searchkick/railtie.rb 0 → 100644
@@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
  1 +module Searckick
  2 + class Railtie < Rails::Railtie
  3 + rake_tasks do
  4 + load "tasks/searchkick.rake"
  5 + end
  6 + end
  7 +end
lib/searchkick/tasks.rb
@@ -1,29 +0,0 @@ @@ -1,29 +0,0 @@
1 -namespace :searchkick do  
2 - desc "reindex model"  
3 - task reindex: :environment do  
4 - if ENV["CLASS"]  
5 - klass = ENV["CLASS"].constantize rescue nil  
6 - if klass  
7 - klass.reindex  
8 - else  
9 - abort "Could not find class: #{ENV['CLASS']}"  
10 - end  
11 - else  
12 - abort "USAGE: rake searchkick:reindex CLASS=Product"  
13 - end  
14 - end  
15 -  
16 - if defined?(Rails)  
17 - namespace :reindex do  
18 - desc "reindex all models"  
19 - task all: :environment do  
20 - Rails.application.eager_load!  
21 - Searchkick.models.each do |model|  
22 - puts "Reindexing #{model.name}..."  
23 - model.reindex  
24 - end  
25 - puts "Reindex complete"  
26 - end  
27 - end  
28 - end  
29 -end  
lib/tasks/searchkick.rake 0 → 100644
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +namespace :searchkick do
  2 + desc "reindex model"
  3 + task reindex: :environment do
  4 + if ENV["CLASS"]
  5 + klass = ENV["CLASS"].constantize rescue nil
  6 + if klass
  7 + klass.reindex
  8 + else
  9 + abort "Could not find class: #{ENV['CLASS']}"
  10 + end
  11 + else
  12 + abort "USAGE: rake searchkick:reindex CLASS=Product"
  13 + end
  14 + end
  15 +
  16 + namespace :reindex do
  17 + desc "reindex all models"
  18 + task all: :environment do
  19 + Rails.application.eager_load!
  20 + Searchkick.models.each do |model|
  21 + puts "Reindexing #{model.name}..."
  22 + model.reindex
  23 + end
  24 + puts "Reindex complete"
  25 + end
  26 + end
  27 +end