mongous 0.2.0 → 0.4.2
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/.rubocop.yml +73 -0
- data/README.adoc +191 -38
- data/README.ja.adoc +192 -39
- data/Rakefile +8 -8
- data/lib/mongous/base.rb +52 -8
- data/lib/mongous/document.rb +36 -13
- data/lib/mongous/extention.rb +51 -39
- data/lib/mongous/filter.rb +316 -227
- data/lib/mongous/version.rb +1 -1
- data/mongous.gemspec +4 -4
- data/sample/connect_auto_0.rb +9 -0
- data/sample/declare_compact_1.rb +6 -8
- data/sample/declare_compact_2.rb +38 -0
- data/sample/declare_label_1.rb +9 -7
- data/sample/declare_ndex_1.rb +8 -6
- data/sample/declare_ndex_2.rb +9 -7
- data/sample/declare_strict_1.rb +9 -9
- data/sample/declare_strict_2.rb +4 -5
- data/sample/multi_collection_1.rb +0 -2
- data/sample/multi_collection_2.rb +5 -5
- data/sample/multi_collection_3.rb +24 -0
- data/sample/query_basic_1.rb +8 -2
- data/sample/query_basic_2.rb +8 -2
- data/sample/query_basic_3.rb +0 -2
- data/sample/query_basic_4.rb +3 -5
- data/sample/query_basic_5.rb +0 -2
- data/sample/query_basic_6.rb +56 -0
- data/sample/query_detail_1.rb +3 -3
- data/sample/query_detail_2.rb +3 -3
- data/sample/query_detail_3.rb +4 -5
- data/sample/query_filter_1.rb +1 -3
- data/sample/query_filter_2.rb +2 -4
- data/sample/query_find_1.rb +6 -5
- data/sample/query_select_1.rb +54 -0
- data/sample/query_skip_limit_1.rb +25 -14
- data/sample/query_skip_limit_2.rb +20 -11
- data/sample/query_sort_1.rb +43 -0
- data/sample/save_basic_1.rb +2 -6
- data/sample/save_basic_2.rb +2 -6
- data/sample/save_basic_3.rb +2 -6
- data/sample/save_detail_1.rb +3 -3
- data/sample/save_detail_2.rb +3 -3
- data/sample/save_detail_3.rb +10 -10
- data/sample/save_verify_1.rb +6 -6
- data/sample/save_verify_2.rb +0 -2
- data/sample/save_verify_3.rb +0 -2
- data/sample/save_verify_4.rb +0 -2
- data/sample/save_verify_5.rb +3 -5
- data/sample/save_verify_6.rb +3 -5
- data/sample/save_verify_7.rb +21 -0
- data/sample/update_basic_1.rb +9 -0
- data/sample/zap_basic_1.rb +1 -5
- data/sample/zap_basic_2.rb +2 -6
- data/sample/zap_basic_3.rb +2 -6
- data/sample/zbenchmark_search_1.rb +114 -0
- data/sample/zbenchmark_search_2.rb +114 -0
- data/sample/zbenchmark_search_3.rb +88 -0
- metadata +31 -21
- data/sample/query_projection_1.rb +0 -41
- data/sample/query_sort_order_1.rb +0 -46
data/README.ja.adoc
CHANGED
@@ -4,10 +4,12 @@
|
|
4
4
|
|
5
5
|
== 特徴
|
6
6
|
|
7
|
-
* 組込みと標準添付を除いて、mongo driver と bson
|
8
|
-
*
|
9
|
-
*
|
10
|
-
*
|
7
|
+
* 組込みと標準添付を除いて、mongo driver と bson のみに依存する軽いライブラリである.
|
8
|
+
* ドキュメント項目の制約条件を Array, Range, Regexp, Proc インスタンスまたは基本クラスで記述できる.
|
9
|
+
* ドキュメント保存時に制約条件を満たすか検査する.
|
10
|
+
* ドキュメントの項目値設定時に制約条件を満たすか検査する.
|
11
|
+
* ドキュメントの未定義項目の内容を値または Proc で記述できる.
|
12
|
+
* ドキュメント作成時および更新時の項目内容を値または Proc で記述できる.
|
11
13
|
|
12
14
|
== 導入
|
13
15
|
|
@@ -30,17 +32,13 @@ gem 'mongous'
|
|
30
32
|
|
31
33
|
== 使い方
|
32
34
|
|
33
|
-
===
|
35
|
+
=== 簡潔な定義
|
34
36
|
|
35
37
|
[source,ruby]
|
36
38
|
----
|
37
39
|
require "mongous"
|
38
40
|
|
39
|
-
Mongous.
|
40
|
-
|
41
|
-
class Book
|
42
|
-
include Mongous::Document
|
43
|
-
end
|
41
|
+
Mongous.document! :Book
|
44
42
|
----
|
45
43
|
|
46
44
|
=== 詳細な定義
|
@@ -54,16 +52,17 @@ Mongous.connect! ["localhost:27017"], database: "test"
|
|
54
52
|
class Book
|
55
53
|
include Mongous::Document
|
56
54
|
|
57
|
-
field :title, String,
|
55
|
+
field :title, String, :must
|
58
56
|
field :author, String
|
59
57
|
field :publisher, String
|
60
|
-
field :style, String,
|
61
|
-
field :
|
62
|
-
field :
|
63
|
-
field :
|
64
|
-
field :
|
65
|
-
field :
|
66
|
-
field :
|
58
|
+
field :style, String, %w[hardcover, softcover, paperback]
|
59
|
+
field :size, String, /[AB]\d/
|
60
|
+
field :price, Integer, (0..1_000_000)
|
61
|
+
field :page, Integer, proc{ page % 4 == 0 }
|
62
|
+
field :isbn, String, proc{ isbn? }
|
63
|
+
field :lang, String, default: "en"
|
64
|
+
field :created_at, Time, create: proc{ Time.now }
|
65
|
+
field :updated_at, Time, update: proc{ Time.now }
|
67
66
|
|
68
67
|
filter :foobar, {title: /foobar/}
|
69
68
|
|
@@ -87,13 +86,13 @@ end
|
|
87
86
|
book = Book.new
|
88
87
|
book.title = "title 1"
|
89
88
|
book.price = 1000
|
90
|
-
book.
|
89
|
+
book.size = "A4"
|
91
90
|
book.save
|
92
91
|
|
93
|
-
book = Book.new( title: "title 2", price: 2000,
|
92
|
+
book = Book.new( title: "title 2", price: 2000, size: "A5" )
|
94
93
|
book.save
|
95
94
|
|
96
|
-
doc = { title: "title 3", price: 3000,
|
95
|
+
doc = { title: "title 3", price: 3000, size: "A6" }
|
97
96
|
Book.create( **doc )
|
98
97
|
----
|
99
98
|
|
@@ -103,7 +102,8 @@ Book.create( **doc )
|
|
103
102
|
----
|
104
103
|
pp books = Book.all
|
105
104
|
|
106
|
-
p book = Book.where( title:
|
105
|
+
p book = Book.where( title: /title/ ).first
|
106
|
+
p book = Book.where( title: /title/ ).last
|
107
107
|
|
108
108
|
books = Book.where( title: /title/ ).all
|
109
109
|
books.each do |book|
|
@@ -114,14 +114,14 @@ Book.where( title: /title/ ).projection( _id: 0 ).each do |book|
|
|
114
114
|
p book
|
115
115
|
end
|
116
116
|
|
117
|
-
Book.where( price: (1..2000),
|
117
|
+
Book.where( price: (1..2000), size: ["A4","A5"] ).each do |book|
|
118
118
|
p book
|
119
119
|
end
|
120
120
|
|
121
121
|
filter1 = Book.where( title: /title/ )
|
122
122
|
filter2 = Book.where( :foobar )
|
123
123
|
filter3 = Book.where( price: (1..2000) )
|
124
|
-
filter4 = Book.where(
|
124
|
+
filter4 = Book.where( size: ["A4","A5"] )
|
125
125
|
|
126
126
|
Book.not( filter1 ).each do |book|
|
127
127
|
p book
|
@@ -137,7 +137,15 @@ Book.find( { title: /title/ }, { projection: {_id: 0} } ).each do |book|
|
|
137
137
|
p book
|
138
138
|
end
|
139
139
|
|
140
|
-
|
140
|
+
Book.where( title: /title/ ).select( _id: 0 ).each do |book|
|
141
|
+
p book
|
142
|
+
end
|
143
|
+
|
144
|
+
Book.select( _id: 0 )[0, 5].each do |book|
|
145
|
+
p book
|
146
|
+
end
|
147
|
+
|
148
|
+
pp Book.select( :title, :price, :size )[5, 5].all
|
141
149
|
----
|
142
150
|
|
143
151
|
=== ドキュメント更新
|
@@ -187,7 +195,22 @@ Mongous.connect( hosts_or_uri = nil, **options )
|
|
187
195
|
* Result:
|
188
196
|
** Mongo::Client インスタンス.
|
189
197
|
|
190
|
-
===
|
198
|
+
=== コレクション操作クラスをデフォルト設定で定義する.
|
199
|
+
|
200
|
+
[source,ruby]
|
201
|
+
----
|
202
|
+
Mongous.document!( *names, **options )
|
203
|
+
----
|
204
|
+
|
205
|
+
* Result:
|
206
|
+
** nil.
|
207
|
+
|
208
|
+
* Parameter:
|
209
|
+
** names: コレクション名. (String または Symbol)
|
210
|
+
** options: オプション
|
211
|
+
*** timestamp: 真のとき, フィールド :created_at, :updated_at を追加する.
|
212
|
+
|
213
|
+
=== コレクション操作クラスにドキュメントの機能を取り入れる.
|
191
214
|
|
192
215
|
[source,ruby]
|
193
216
|
----
|
@@ -207,6 +230,19 @@ self.client=( client )
|
|
207
230
|
* Parameter:
|
208
231
|
** client: Mongo::Client インスタンス.
|
209
232
|
|
233
|
+
=== Get binded database.
|
234
|
+
|
235
|
+
[source,ruby]
|
236
|
+
----
|
237
|
+
self.client
|
238
|
+
----
|
239
|
+
|
240
|
+
* Result:
|
241
|
+
** Mongo::Client インスタンス.
|
242
|
+
|
243
|
+
* Parameter:
|
244
|
+
** None.
|
245
|
+
|
210
246
|
=== 別のコレクションを割り当てる.
|
211
247
|
|
212
248
|
[source,ruby]
|
@@ -220,11 +256,37 @@ self.collection_name=( collection_name )
|
|
220
256
|
* Parameter:
|
221
257
|
** collection_name: コレクション名.
|
222
258
|
|
259
|
+
=== Get binded collection name.
|
260
|
+
|
261
|
+
[source,ruby]
|
262
|
+
----
|
263
|
+
self.collection_name
|
264
|
+
----
|
265
|
+
|
266
|
+
* Result:
|
267
|
+
** Collection name 文字列.
|
268
|
+
|
269
|
+
* Parameter:
|
270
|
+
** None.
|
271
|
+
|
272
|
+
=== Get collection.
|
273
|
+
|
274
|
+
[source,ruby]
|
275
|
+
----
|
276
|
+
self.collection( collection_name = nil )
|
277
|
+
----
|
278
|
+
|
279
|
+
* Result:
|
280
|
+
** Mongo::Collection インスタンス.
|
281
|
+
|
282
|
+
* Parameter:
|
283
|
+
** collection_name: 一時指定するコレクション名.
|
284
|
+
|
223
285
|
=== ドキュメントの要素を定義する.
|
224
286
|
|
225
287
|
[source,ruby]
|
226
288
|
----
|
227
|
-
field( symbol, *attrs, **items )
|
289
|
+
self.field( symbol, *attrs, **items )
|
228
290
|
----
|
229
291
|
|
230
292
|
* Parameter:
|
@@ -245,7 +307,7 @@ field( symbol, *attrs, **items )
|
|
245
307
|
|
246
308
|
[source,ruby]
|
247
309
|
----
|
248
|
-
verify( *directives, &block )
|
310
|
+
self.verify( *directives, &block )
|
249
311
|
----
|
250
312
|
|
251
313
|
* Parameter:
|
@@ -257,7 +319,7 @@ verify( *directives, &block )
|
|
257
319
|
|
258
320
|
[source,ruby]
|
259
321
|
----
|
260
|
-
index( *symbols, **options )
|
322
|
+
self.index( *symbols, **options )
|
261
323
|
----
|
262
324
|
|
263
325
|
* Parameter:
|
@@ -268,7 +330,7 @@ index( *symbols, **options )
|
|
268
330
|
|
269
331
|
[source,ruby]
|
270
332
|
----
|
271
|
-
having?( label )
|
333
|
+
self.having?( label )
|
272
334
|
----
|
273
335
|
|
274
336
|
* Result:
|
@@ -281,22 +343,38 @@ having?( label )
|
|
281
343
|
|
282
344
|
[source,ruby]
|
283
345
|
----
|
284
|
-
filter( symbol, filter_or_cond )
|
346
|
+
self.filter( symbol, filter_or_cond )
|
285
347
|
----
|
286
348
|
|
287
349
|
* Parameter:
|
288
350
|
** symbol: 項目名
|
289
351
|
** filter_or_cond: フィルタまたは検索条件
|
290
352
|
|
353
|
+
=== 出力項目を選択する.
|
354
|
+
|
355
|
+
[source,ruby]
|
356
|
+
----
|
357
|
+
Mongous::Document.select( *keys, **kwargs )
|
358
|
+
Mongous::Filter#select( *keys, **kwargs )
|
359
|
+
----
|
360
|
+
|
361
|
+
* Result:
|
362
|
+
** Mongous::Filter instance.
|
363
|
+
|
364
|
+
* Parameter:
|
365
|
+
** keys: 項目名
|
366
|
+
** kwargs: 項目名と項目値.
|
367
|
+
|
291
368
|
=== 検索条件.
|
292
369
|
|
293
370
|
[source,ruby]
|
294
371
|
----
|
295
|
-
where( filter = nil, **conditions )
|
372
|
+
Mongous::Document.where( filter = nil, **conditions )
|
373
|
+
Mongous::Filter#where( filter = nil, **conditions )
|
296
374
|
----
|
297
375
|
|
298
376
|
* Result:
|
299
|
-
** Filter instance.
|
377
|
+
** Mongous::Filter instance.
|
300
378
|
|
301
379
|
* Parameter:
|
302
380
|
** filter: 項目名またはフィルタインスタンス
|
@@ -306,11 +384,12 @@ where( filter = nil, **conditions )
|
|
306
384
|
|
307
385
|
[source,ruby]
|
308
386
|
----
|
309
|
-
not( filter = nil, **conditions )
|
387
|
+
Mongous::Document.not( filter = nil, **conditions )
|
388
|
+
Mongous::Filter#not( filter = nil, **conditions )
|
310
389
|
----
|
311
390
|
|
312
391
|
* Result:
|
313
|
-
** Filter instance.
|
392
|
+
** Mongous::Filter instance.
|
314
393
|
|
315
394
|
* Parameter:
|
316
395
|
** filter: 項目名またはフィルタインスタンス
|
@@ -320,11 +399,12 @@ not( filter = nil, **conditions )
|
|
320
399
|
|
321
400
|
[source,ruby]
|
322
401
|
----
|
323
|
-
and( *filters )
|
402
|
+
Mongous::Document.and( *filters )
|
403
|
+
Mongous::Filter#and( *filters )
|
324
404
|
----
|
325
405
|
|
326
406
|
* Result:
|
327
|
-
** Filter instance.
|
407
|
+
** Mongous::Filter instance.
|
328
408
|
|
329
409
|
* Parameter:
|
330
410
|
** filters: 項目名またはフィルタインスタンス
|
@@ -333,15 +413,88 @@ and( *filters )
|
|
333
413
|
|
334
414
|
[source,ruby]
|
335
415
|
----
|
336
|
-
or( *filters )
|
416
|
+
Mongous::Document.or( *filters )
|
417
|
+
Mongous::Filter#or( *filters )
|
337
418
|
----
|
338
419
|
|
339
420
|
* Result:
|
340
|
-
** Filter instance.
|
421
|
+
** Mongous::Filter instance.
|
341
422
|
|
342
423
|
* Parameter:
|
343
424
|
** filters: 項目名またはフィルタインスタンス
|
344
425
|
|
426
|
+
=== ドキュメントを作成.
|
427
|
+
|
428
|
+
[source,ruby]
|
429
|
+
----
|
430
|
+
Mongous::Document.create( **doc )
|
431
|
+
----
|
432
|
+
|
433
|
+
* Result:
|
434
|
+
** nil.
|
435
|
+
|
436
|
+
* Parameter:
|
437
|
+
** doc: キーワード引数.
|
438
|
+
|
439
|
+
=== ドキュメントを保存.
|
440
|
+
|
441
|
+
[source,ruby]
|
442
|
+
----
|
443
|
+
Mongous::Document#save
|
444
|
+
----
|
445
|
+
|
446
|
+
* Result:
|
447
|
+
** nil.
|
448
|
+
|
449
|
+
=== ドキュメントをHashに変換.
|
450
|
+
|
451
|
+
[source,ruby]
|
452
|
+
----
|
453
|
+
Mongous::Document#to_hash
|
454
|
+
----
|
455
|
+
|
456
|
+
* Result:
|
457
|
+
** Hash object.
|
458
|
+
|
459
|
+
=== ドキュメントをJSONに変換.
|
460
|
+
|
461
|
+
[source,ruby]
|
462
|
+
----
|
463
|
+
Mongous::Document#to_json
|
464
|
+
----
|
465
|
+
|
466
|
+
* Result:
|
467
|
+
** JSON String.
|
468
|
+
|
469
|
+
=== ドキュメントの項目値を読む.
|
470
|
+
|
471
|
+
[source,ruby]
|
472
|
+
----
|
473
|
+
Mongous::Document#[]( field_name )
|
474
|
+
Mongous::Document#field_name
|
475
|
+
----
|
476
|
+
|
477
|
+
* Result:
|
478
|
+
** 項目値.
|
479
|
+
|
480
|
+
* Parameter:
|
481
|
+
** field_name: 項目名.
|
482
|
+
|
483
|
+
=== ドキュメントの項目値を書く.
|
484
|
+
|
485
|
+
[source,ruby]
|
486
|
+
----
|
487
|
+
Mongous::Document#[]=( field_name, field_value )
|
488
|
+
Mongous::Document#field_name = field_value
|
489
|
+
----
|
490
|
+
|
491
|
+
* Result:
|
492
|
+
** 項目値.
|
493
|
+
|
494
|
+
* Parameter:
|
495
|
+
** field_name: 項目名.
|
496
|
+
** field_value: 項目値.
|
497
|
+
|
345
498
|
== 貢献
|
346
499
|
|
347
500
|
不具合報告とプルリクエストは GitHub https://github.com/arimay/mongous まで.
|
data/Rakefile
CHANGED
@@ -13,7 +13,7 @@ class Bundler::GemHelper
|
|
13
13
|
dest_path = File.join(dir, "#{name}-#{version}.zip")
|
14
14
|
cmnd = "git archive --format zip --prefix=#{name}/ HEAD > #{dest_path}"
|
15
15
|
|
16
|
-
|
16
|
+
_, code = sh_with_status( cmnd )
|
17
17
|
raise "Couldn't archive gem," unless code == 0
|
18
18
|
|
19
19
|
Bundler.ui.confirm "#{name} #{version} archived to #{dest_path}."
|
@@ -23,11 +23,11 @@ class Bundler::GemHelper
|
|
23
23
|
ver = version.to_s
|
24
24
|
|
25
25
|
cmnd = "git push origin #{ver} "
|
26
|
-
|
26
|
+
_, code = sh_with_status( cmnd )
|
27
27
|
raise "Couldn't git push origin." unless code == 0
|
28
28
|
|
29
29
|
cmnd = "git push "
|
30
|
-
|
30
|
+
_, code = sh_with_status( cmnd )
|
31
31
|
raise "Couldn't git push." unless code == 0
|
32
32
|
|
33
33
|
Bundler.ui.confirm "Git Push #{ver}."
|
@@ -43,15 +43,15 @@ class Bundler::GemHelper
|
|
43
43
|
end
|
44
44
|
|
45
45
|
cmnd = "git add #{version_pathname} "
|
46
|
-
|
46
|
+
_, code = sh_with_status( cmnd )
|
47
47
|
raise "Couldn't git add," unless code == 0
|
48
48
|
|
49
49
|
cmnd = "git commit -m '#{new_version}' "
|
50
|
-
|
50
|
+
_, code = sh_with_status( cmnd )
|
51
51
|
raise "Couldn't git commit." unless code == 0
|
52
52
|
|
53
53
|
cmnd = "git tag #{new_version} "
|
54
|
-
|
54
|
+
_, code = sh_with_status( cmnd )
|
55
55
|
raise "Couldn't git tag." unless code == 0
|
56
56
|
|
57
57
|
Bundler.ui.confirm "Update Tags to #{new_version}."
|
@@ -80,14 +80,14 @@ Bundler::GemHelper.new(Dir.pwd).instance_eval do
|
|
80
80
|
|
81
81
|
desc "Update Version Minor"
|
82
82
|
task 'minor' do
|
83
|
-
major, minor,
|
83
|
+
major, minor, _tiny = version.to_s.split('.')
|
84
84
|
new_version = [major, minor.to_i + 1, 0].join('.')
|
85
85
|
update_version( new_version )
|
86
86
|
end
|
87
87
|
|
88
88
|
desc "Update Version Major"
|
89
89
|
task 'major' do
|
90
|
-
major,
|
90
|
+
major, _minor, _tiny = version.to_s.split('.')
|
91
91
|
new_version = [major.to_i + 1, 0, 0].join('.')
|
92
92
|
update_version( new_version )
|
93
93
|
end
|
data/lib/mongous/base.rb
CHANGED
@@ -11,7 +11,7 @@ module Mongous
|
|
11
11
|
def connect( hosts_or_uri = nil, file: nil, mode: nil, loglevel: nil, **options )
|
12
12
|
case hosts_or_uri
|
13
13
|
when Array, String
|
14
|
-
|
14
|
+
hosts_or_uri
|
15
15
|
|
16
16
|
when NilClass
|
17
17
|
if file
|
@@ -46,19 +46,63 @@ module Mongous
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def connect!( hosts_or_uri = nil, **options )
|
49
|
-
|
50
|
-
self.class_variable_set( :@@client,
|
49
|
+
client_ = connect( hosts_or_uri, **options )
|
50
|
+
self.class_variable_set( :@@client, client_ )
|
51
51
|
end
|
52
52
|
|
53
|
+
def document!( *names, **opts )
|
54
|
+
raise Mongous::Error, "missing argument." if names.empty?
|
55
|
+
|
56
|
+
names.each do |name|
|
57
|
+
case name
|
58
|
+
when String
|
59
|
+
name
|
60
|
+
when Symbol
|
61
|
+
name = name.to_s
|
62
|
+
else
|
63
|
+
raise Mongous::Error, "type invalid. : #{ name }"
|
64
|
+
end
|
65
|
+
|
66
|
+
raise Mongous::Error, "missing argument." unless /^[A-Z]/.match(name)
|
67
|
+
|
68
|
+
if Object.const_defined?( name )
|
69
|
+
if Object.const_get( name ).include?( Mongous::Document )
|
70
|
+
Object.class_eval{ remove_const( name ) }
|
71
|
+
else
|
72
|
+
raise Mongous::Error, "type invalid. : #{ Object.class_eval(name) }"
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
klass = Object.class_eval <<-CLASS
|
77
|
+
class #{name}
|
78
|
+
include Mongous::Document
|
79
|
+
end
|
80
|
+
CLASS
|
81
|
+
|
82
|
+
if opts[:timestamp]
|
83
|
+
klass.class_eval do
|
84
|
+
field :created_at, Time, create: proc{ Time.now }
|
85
|
+
field :updated_at, Time, update: proc{ Time.now }
|
86
|
+
index :created_at
|
87
|
+
index :updated_at
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
alias :attach! :document!
|
93
|
+
|
53
94
|
def client
|
54
|
-
self.
|
95
|
+
if not self.class_variable_defined?( :@@client )
|
96
|
+
connect!
|
97
|
+
end
|
98
|
+
self.class_variable_get( :@@client )
|
55
99
|
end
|
56
100
|
|
57
|
-
def client=(
|
58
|
-
if
|
59
|
-
raise Mongous::Error, "type invalid. : #{
|
101
|
+
def client=( new_client )
|
102
|
+
if not new_client.is_a?( ::Mongo::Client )
|
103
|
+
raise Mongous::Error, "type invalid. : #{ new_client }"
|
60
104
|
end
|
61
|
-
self.class_variable_set( :@@client,
|
105
|
+
self.class_variable_set( :@@client, new_client )
|
62
106
|
end
|
63
107
|
|
64
108
|
def loger
|