mongoid-elasticsearch 0.3.8 → 0.3.9
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b17ce3ea177fb613d714d573fc83a015970df61
|
4
|
+
data.tar.gz: 2cfef5f383d8b64631d068f8bc2f40823957eeb6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca428b09d8d6821360b3bd47f506fa09f52988d64231a86c2d925a6b2702d3da42ede2862bc78d6f3b2df550a2fe28f72db1e7f3f293241ee10e1966f3cb117c
|
7
|
+
data.tar.gz: 26f366aef339cd4a7d55823beb6090128c25d86f9028758400c85251121a3eea5442b486d3e7f490dcc44b2095913dfb314892d37efb4a7720cf827c37dd117b
|
@@ -148,6 +148,11 @@ module Mongoid
|
|
148
148
|
hits.map do |h|
|
149
149
|
klass = find_klass(h['_type'])
|
150
150
|
source = h.delete('_source')
|
151
|
+
source.each do |k,v|
|
152
|
+
if v.is_a?(Hash) && v.has_key?("$oid")
|
153
|
+
source[k] = BSON::ObjectId.from_string(v["$oid"])
|
154
|
+
end
|
155
|
+
end
|
151
156
|
begin
|
152
157
|
m = klass.new(h.merge(source))
|
153
158
|
rescue Mongoid::Errors::UnknownAttribute
|
data/spec/models/post.rb
CHANGED
@@ -4,10 +4,12 @@ class Post
|
|
4
4
|
field :name, type: String
|
5
5
|
field :content, type: String
|
6
6
|
|
7
|
+
field :my_object_id, type: BSON::ObjectId
|
8
|
+
|
7
9
|
include Mongoid::Elasticsearch
|
8
10
|
elasticsearch!
|
9
11
|
def as_indexed_json
|
10
|
-
{name: name, content: content}
|
12
|
+
{name: name, content: content, my_object_id: my_object_id}
|
11
13
|
end
|
12
14
|
end
|
13
15
|
|
@@ -44,7 +44,9 @@ describe Article do
|
|
44
44
|
@article_1 = Article.create!(name: 'test article name likes', tags: 'likely')
|
45
45
|
@article_2 = Article.create!(name: 'tests likely an another article title')
|
46
46
|
@article_3 = Article.create!(name: 'a strange name for this stuff')
|
47
|
+
@post_1 = Post.create!(name: 'object_id', my_object_id: BSON::ObjectId.new)
|
47
48
|
Article.es.index.refresh
|
49
|
+
Post.es.index.refresh
|
48
50
|
end
|
49
51
|
|
50
52
|
it 'searches and returns models' do
|
@@ -72,6 +74,12 @@ describe Article do
|
|
72
74
|
expect(Article).to_not have_received(:find)
|
73
75
|
end
|
74
76
|
|
77
|
+
it 'restores BSON::ObjectId with wrapper :model' do
|
78
|
+
results = Post.es.search 'object_id'
|
79
|
+
results.first.my_object_id.should be_kind_of(BSON::ObjectId)
|
80
|
+
results.first.my_object_id.should eq(@post_1.my_object_id)
|
81
|
+
end
|
82
|
+
|
75
83
|
|
76
84
|
if Article.es.completion_supported?
|
77
85
|
it 'completion' do
|
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.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- glebtv
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mongoid
|