File tree 4 files changed +13
-2
lines changed
elasticsearch-persistence
lib/elasticsearch/persistence/repository
test/integration/repository
4 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -14,8 +14,12 @@ module Naming
14
14
15
15
# Get or set the class used to initialize domain objects when deserializing them
16
16
#
17
- def klass name = nil
18
- @klass = name || @klass
17
+ def klass ( name = nil )
18
+ if name
19
+ @klass = name
20
+ else
21
+ @klass
22
+ end
19
23
end
20
24
21
25
# Set the class used to initialize domain objects when deserializing them
Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ class ::MyNotesRepository
30
30
include Elasticsearch ::Persistence ::Repository
31
31
32
32
klass MyNote
33
+ document_type 'my_note'
33
34
34
35
settings number_of_shards : 1 do
35
36
mapping do
@@ -45,6 +46,8 @@ def deserialize(document)
45
46
end
46
47
47
48
@repository = MyNotesRepository . new
49
+ @repository . klass = MyNotesRepository . klass
50
+ @repository . document_type = MyNotesRepository . document_type
48
51
49
52
@repository . client . cluster . health wait_for_status : 'yellow'
50
53
end
Original file line number Diff line number Diff line change @@ -19,6 +19,8 @@ def to_hash
19
19
context "The default repository class" do
20
20
setup do
21
21
@repository = Elasticsearch ::Persistence ::Repository . new
22
+ @repository . klass = ::Note
23
+ @repository . document_type = 'note'
22
24
@repository . client . cluster . health wait_for_status : 'yellow'
23
25
end
24
26
@@ -105,6 +107,7 @@ def to_hash
105
107
end
106
108
107
109
should "save and find a plain hash" do
110
+ @repository . klass = Hash
108
111
@repository . save id : 1 , title : 'Hash'
109
112
result = @repository . find ( 1 )
110
113
assert_equal 'Hash' , result [ '_source' ] [ 'title' ]
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ def set_id(id)
25
25
@repository = Elasticsearch ::Persistence ::Repository . new do
26
26
index :pages
27
27
klass Page
28
+ document_type 'page'
28
29
29
30
def deserialize ( document )
30
31
page = klass . new document [ '_source' ]
You can’t perform that action at this time.
0 commit comments