mongoid-elasticsearch 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fc7964bb909dec223e809ac38cdb534018ff9938
4
- data.tar.gz: b3aaa57c0651bd32ab4af8968160c1f8834bef41
3
+ metadata.gz: 73ff0a4562b7d652802bc8bc1f26343cef63cefe
4
+ data.tar.gz: 878f97484fb4b5a1b52773353d3d1df1a33ba529
5
5
  SHA512:
6
- metadata.gz: 31af2bedb2d4154c70ae323ab30c8d4d52afae338c7015a6e5a4d4d41e365688a05b3e64f9a2e2fab15fa8e604b243c5b8b253afaf2eef822599bba859274b11
7
- data.tar.gz: 9256b06ffcd1a22a09c438893118356692f35cd1533b20126946634fa9d3f2ab10003731faedce938ad7d1a055e62d5942eb3b63b581a9ef65e06e45229d1e3d
6
+ metadata.gz: 0a87c268fde4d52029ac6d667369bc555b868bff9d8efbc7621c6584b6de8558b7236bce519e095d5a07f16be94dd78cbae4a76fec7d39f5546d6aeb9cf20732
7
+ data.tar.gz: 0325cd6d0b05bb8ddd236971f9b4b2685269c7300b47a07f715b783026665974355ceaf9137aaf84122c8f0f826f2ccd9400f23a9e2854e199110437ac89380b
@@ -1,2 +1 @@
1
- require 'elasticsearch'
2
1
  require 'mongoid/elasticsearch'
@@ -1,6 +1,6 @@
1
+ require 'elasticsearch'
1
2
  require 'mongoid/elasticsearch/version'
2
3
 
3
- require 'elasticsearch'
4
4
  require 'active_support/concern'
5
5
 
6
6
  require 'mongoid/elasticsearch/utils'
@@ -22,6 +22,9 @@ module Mongoid
22
22
 
23
23
  mattr_accessor :registered_indexes
24
24
  self.registered_indexes = []
25
+
26
+ mattr_accessor :registered_models
27
+ self.registered_models = []
25
28
 
26
29
  extend ActiveSupport::Concern
27
30
  included do
@@ -63,6 +66,7 @@ module Mongoid
63
66
  self.es_wrapper = options[:wrapper]
64
67
 
65
68
  Mongoid::Elasticsearch.registered_indexes.push self.es_index_name
69
+ Mongoid::Elasticsearch.registered_models.push self.name
66
70
 
67
71
  unless options[:index_mappings].nil?
68
72
  self.es_index_options = self.es_index_options.deep_merge({
@@ -76,8 +80,13 @@ module Mongoid
76
80
 
77
81
  include Indexing
78
82
  include Callbacks if options[:callbacks]
83
+ end
84
+ end
79
85
 
80
- es.index.create
86
+ def self.create_all_indexes!
87
+ puts "creating ES indexes"
88
+ Mongoid::Elasticsearch.registered_models.each do |model_name|
89
+ model_name.constantize.es.index.create
81
90
  end
82
91
  end
83
92
 
@@ -105,3 +114,7 @@ module Mongoid
105
114
  end
106
115
  end
107
116
  end
117
+
118
+ if defined? Rails
119
+ require 'mongoid/elasticsearch/railtie'
120
+ end
@@ -0,0 +1,11 @@
1
+ module Mongoid::Elasticsearch
2
+ class Railtie < Rails::Railtie
3
+ rake_tasks do
4
+ require File.expand_path('../tasks', __FILE__)
5
+ end
6
+
7
+ initializer 'elasticsearch.load_app' do
8
+ Mongoid::Elasticsearch.create_all_indexes!
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,28 @@
1
+ # require this file to load the tasks
2
+ require 'rake'
3
+
4
+ # Require sitemap_generator at runtime. If we don't do this the ActionView helpers are included
5
+ # before the Rails environment can be loaded by other Rake tasks, which causes problems
6
+ # for those tasks when rendering using ActionView.
7
+ namespace :es do
8
+ # Require sitemap_generator only. When installed as a plugin the require will fail, so in
9
+ # that case, load the environment first.
10
+ task :require do
11
+ Rake::Task['environment'].invoke
12
+ require 'ruby-progressbar'
13
+ end
14
+ desc "create all indexes"
15
+ task :create => ['es:require'] do
16
+ Mongoid::Elasticsearch.create_all_indexes!
17
+ end
18
+ desc "reindex all ES models"
19
+ task :reindex => ['es:require'] do
20
+ Mongoid::Elasticsearch.registered_models.each do |model_name|
21
+ pb = nil
22
+ model_name.constantize.es.index_all do |steps, step|
23
+ pb = ProgressBar.create(title: model_name, total: steps, format: '%t: %p%% %a |%b>%i| %E') if pb.nil?
24
+ pb.increment
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Elasticsearch
3
- VERSION = "0.6.1"
3
+ VERSION = "0.7.0"
4
4
  end
5
5
  end
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency "mongoid", [">= 3.0", "< 4.1"]
22
22
  spec.add_dependency "elasticsearch", "~> 1.0.1"
23
+ spec.add_dependency "ruby-progressbar"
23
24
 
24
25
  spec.add_development_dependency "bundler"
25
26
  spec.add_development_dependency "rake"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-elasticsearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - glebtv
@@ -44,6 +44,20 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: 1.0.1
47
+ - !ruby/object:Gem::Dependency
48
+ name: ruby-progressbar
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: bundler
49
63
  requirement: !ruby/object:Gem::Requirement
@@ -197,7 +211,9 @@ files:
197
211
  - lib/mongoid/elasticsearch/indexing.rb
198
212
  - lib/mongoid/elasticsearch/monkeypatches.rb
199
213
  - lib/mongoid/elasticsearch/pagination.rb
214
+ - lib/mongoid/elasticsearch/railtie.rb
200
215
  - lib/mongoid/elasticsearch/response.rb
216
+ - lib/mongoid/elasticsearch/tasks.rb
201
217
  - lib/mongoid/elasticsearch/utils.rb
202
218
  - lib/mongoid/elasticsearch/version.rb
203
219
  - mongoid-elasticsearch.gemspec