mongoid-elasticsearch 0.3.0 → 0.3.1
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 +4 -4
- data/.travis.yml +0 -8
- data/Gemfile +2 -0
- data/README.md +1 -0
- data/gemfiles/es-0.4.1.gemfile +1 -0
- data/gemfiles/es-git.gemfile +1 -0
- data/lib/mongoid/elasticsearch/response.rb +1 -13
- data/lib/mongoid/elasticsearch/version.rb +1 -1
- data/mongoid-elasticsearch.gemspec +2 -1
- data/spec/models/article.rb +6 -1
- data/spec/mongoid_elasticsearch_spec.rb +19 -0
- data/spec/spec_helper.rb +3 -2
- metadata +18 -6
- data/gemfiles/es-0.4.0.gemfile +0 -6
- data/gemfiles/mongoid-4.0.gemfile +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6ddc81ca8a60464402cee8f9b312a60386c203c
|
4
|
+
data.tar.gz: 772a4c6a18512ccaddcb0f334e20fe1596c6ec24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c438080f5c384aa026249dcd58c3ba94b75e0713539e54a91f79db8d43db52db6c394bfc942fd27c2b5e79cdf45bf274a666df990efdc4b56359091a5cb882ca
|
7
|
+
data.tar.gz: f1687552273b2f52af268a5c4c12705f31bde5162f65f1881f138b4edc304e983cb4036eec4cb71eccb242ac7bfaa50cdd281534ce7591638d92bd0d2bad48c4
|
data/.travis.yml
CHANGED
@@ -10,16 +10,8 @@ rvm:
|
|
10
10
|
- 1.9.3
|
11
11
|
- 2.0.0
|
12
12
|
- jruby-19mode
|
13
|
-
- ruby-head
|
14
13
|
|
15
14
|
gemfile:
|
16
15
|
- Gemfile
|
17
|
-
- gemfiles/mongoid-4.0.gemfile
|
18
16
|
- gemfiles/es-git.gemfile
|
19
|
-
- gemfiles/es-0.4.0.gemfile
|
20
17
|
- gemfiles/es-0.4.1.gemfile
|
21
|
-
|
22
|
-
matrix:
|
23
|
-
allow_failures:
|
24
|
-
- rvm: ruby-head
|
25
|
-
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -129,6 +129,7 @@ index definition options and custom model serialization:
|
|
129
129
|
name: name,
|
130
130
|
excerpt: excerpt
|
131
131
|
}
|
132
|
+
# mongoid_slug note: add _slugs to as_indexed_json, NOT slug
|
132
133
|
end
|
133
134
|
|
134
135
|
[Mapping definition docs](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-core-types.html)
|
data/gemfiles/es-0.4.1.gemfile
CHANGED
data/gemfiles/es-git.gemfile
CHANGED
@@ -66,13 +66,7 @@ module Mongoid
|
|
66
66
|
m
|
67
67
|
end
|
68
68
|
when :model
|
69
|
-
|
70
|
-
multi_without_load
|
71
|
-
else
|
72
|
-
hits.map do |h|
|
73
|
-
model_from_hash(h)
|
74
|
-
end
|
75
|
-
end
|
69
|
+
multi_without_load
|
76
70
|
else
|
77
71
|
hits
|
78
72
|
end
|
@@ -118,12 +112,6 @@ module Mongoid
|
|
118
112
|
alias_method :length, :size
|
119
113
|
|
120
114
|
private
|
121
|
-
def model_from_hash(h)
|
122
|
-
source = h.delete('_source')
|
123
|
-
m = @model.new(h.merge(source))
|
124
|
-
m.new_record = false
|
125
|
-
m
|
126
|
-
end
|
127
115
|
|
128
116
|
def find_klass(type)
|
129
117
|
raise NoMethodError, "You have tried to eager load the model instances, " +
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_dependency "mongoid", [">= 4.0", "< 5.0"]
|
22
|
-
spec.add_dependency "elasticsearch", "~> 0.4.
|
22
|
+
spec.add_dependency "elasticsearch", "~> 0.4.1"
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.3"
|
25
25
|
spec.add_development_dependency "rake"
|
@@ -28,4 +28,5 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_development_dependency "database_cleaner"
|
29
29
|
spec.add_development_dependency "coveralls"
|
30
30
|
spec.add_development_dependency "hashie"
|
31
|
+
spec.add_development_dependency "mongoid_slug"
|
31
32
|
end
|
data/spec/models/article.rb
CHANGED
@@ -4,12 +4,17 @@ class Article
|
|
4
4
|
include ActiveModel::ForbiddenAttributesProtection
|
5
5
|
|
6
6
|
field :name
|
7
|
+
|
8
|
+
include Mongoid::Slug
|
9
|
+
slug :name
|
10
|
+
|
7
11
|
field :tags
|
8
12
|
|
9
13
|
include Mongoid::Elasticsearch
|
10
14
|
i_fields = {
|
11
15
|
name: {type: 'string', analyzer: 'snowball'},
|
12
|
-
raw: {type: 'string', index: :not_analyzed}
|
16
|
+
raw: {type: 'string', index: :not_analyzed},
|
17
|
+
_slugs: {type: 'string', index: :not_analyzed}
|
13
18
|
}
|
14
19
|
|
15
20
|
if Gem::Version.new(::Elasticsearch::Client.new.info['version']['number']) > Gem::Version.new('0.90.2')
|
@@ -54,6 +54,24 @@ describe Article do
|
|
54
54
|
results.first.name.should eq @article_2.name
|
55
55
|
end
|
56
56
|
|
57
|
+
it 'mongoid_slug with wrapper: :load' do
|
58
|
+
results = Article.es.search q: 'likely'
|
59
|
+
expect(Article).to receive(:find).once.with([@article_2.id.to_s]).and_call_original
|
60
|
+
results.first.slug.should eq @article_2.name.to_url
|
61
|
+
results.first.to_param.should eq @article_2.name.to_url
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'mongoid_slug with wrapper: :model' do
|
65
|
+
sleep 3
|
66
|
+
results = Article.es.search 'likely', wrapper: :model
|
67
|
+
sleep 3
|
68
|
+
allow(Article).to receive(:find)
|
69
|
+
results.first.slug.should eq @article_2.name.to_url
|
70
|
+
results.first.to_param.should eq @article_2.name.to_url
|
71
|
+
expect(Article).to_not have_received(:find)
|
72
|
+
end
|
73
|
+
|
74
|
+
|
57
75
|
if Article.es.completion_supported?
|
58
76
|
it 'completion' do
|
59
77
|
Article.es.completion('te', 'name.suggest').should eq [
|
@@ -204,6 +222,7 @@ describe "Multisearch" do
|
|
204
222
|
@ns_1 = Namespaced::Model.create!(name: 'test article name likes')
|
205
223
|
Namespaced::Model.es.index.refresh
|
206
224
|
end
|
225
|
+
|
207
226
|
it 'works' do
|
208
227
|
response = Mongoid::Elasticsearch.search 'test'
|
209
228
|
response.length.should eq 4
|
data/spec/spec_helper.rb
CHANGED
@@ -16,6 +16,7 @@ require "rubygems"
|
|
16
16
|
require "rspec"
|
17
17
|
require "mongoid"
|
18
18
|
require "hashie"
|
19
|
+
require "mongoid_slug"
|
19
20
|
require "database_cleaner"
|
20
21
|
|
21
22
|
require "mongoid-elasticsearch"
|
@@ -26,9 +27,9 @@ Dir["#{MODELS}/*.rb"].each { |f| require f }
|
|
26
27
|
|
27
28
|
Mongoid.configure do |config|
|
28
29
|
config.connect_to "mongoid_elasticsearch_test"
|
30
|
+
#config.logger = Logger.new($stdout, :info)
|
29
31
|
end
|
30
|
-
|
31
|
-
|
32
|
+
#Moped.logger = Logger.new($stdout, Logger::DEBUG)
|
32
33
|
|
33
34
|
DatabaseCleaner.orm = "mongoid"
|
34
35
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- glebtv
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mongoid
|
@@ -36,14 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - ~>
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.4.
|
39
|
+
version: 0.4.1
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - ~>
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 0.4.
|
46
|
+
version: 0.4.1
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,6 +142,20 @@ dependencies:
|
|
142
142
|
- - '>='
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: mongoid_slug
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - '>='
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
type: :development
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - '>='
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
145
159
|
description: Simple and easy integration of mongoid with the new elasticsearch gem
|
146
160
|
email:
|
147
161
|
- glebtv@gmail.com
|
@@ -159,10 +173,8 @@ files:
|
|
159
173
|
- MIT-LICENSE.txt
|
160
174
|
- README.md
|
161
175
|
- Rakefile
|
162
|
-
- gemfiles/es-0.4.0.gemfile
|
163
176
|
- gemfiles/es-0.4.1.gemfile
|
164
177
|
- gemfiles/es-git.gemfile
|
165
|
-
- gemfiles/mongoid-4.0.gemfile
|
166
178
|
- lib/mongoid-elasticsearch.rb
|
167
179
|
- lib/mongoid/elasticsearch.rb
|
168
180
|
- lib/mongoid/elasticsearch/callbacks.rb
|
data/gemfiles/es-0.4.0.gemfile
DELETED