mongoid-elasticsearch 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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