mongoid-elasticsearch 0.3.8 → 0.3.9

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: 778c020401189d11719f94b9d46b3d4d305ceeb3
4
- data.tar.gz: 88f8399a9fae8b0bc47107f8280bf6c0699713cf
3
+ metadata.gz: 1b17ce3ea177fb613d714d573fc83a015970df61
4
+ data.tar.gz: 2cfef5f383d8b64631d068f8bc2f40823957eeb6
5
5
  SHA512:
6
- metadata.gz: e8083b417fcdac2cafc359e88fa4e87acd36b2fa3960da43b30a2d50901c5f63fd3234e9d2b049f0fc3fb7559756bec38c8201441f29f2f88485fe919dad4da5
7
- data.tar.gz: bddf389a060fc7e46ace9946b04164a8c6e83c9faa410f2f8f4907aeec9dd1e9ebdb2109cb7957f88cf6d5ab1ab6c93950997c1c6cd22527c142d4270aa05ed7
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
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Elasticsearch
3
- VERSION = "0.3.8"
3
+ VERSION = "0.3.9"
4
4
  end
5
5
  end
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.8
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-03 00:00:00.000000000 Z
11
+ date: 2013-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mongoid