monga 0.0.7 → 0.0.8
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.
- data/lib/monga/database.rb +10 -0
- data/lib/monga.rb +1 -1
- data/monga.gemspec +2 -2
- data/spec/monga/block/database_spec.rb +11 -1
- data/spec/monga/em/database_spec.rb +22 -4
- data/spec/monga/sync/database_spec.rb +14 -1
- metadata +32 -32
data/lib/monga/database.rb
CHANGED
|
@@ -98,6 +98,16 @@ module Monga
|
|
|
98
98
|
run_cmd(cmd, blk)
|
|
99
99
|
end
|
|
100
100
|
|
|
101
|
+
# Drop current database
|
|
102
|
+
#
|
|
103
|
+
# db.drop
|
|
104
|
+
#
|
|
105
|
+
def drop(&blk)
|
|
106
|
+
cmd = {}
|
|
107
|
+
cmd[:dropDatabase] = 1
|
|
108
|
+
run_cmd(cmd, blk)
|
|
109
|
+
end
|
|
110
|
+
|
|
101
111
|
# Create collection.
|
|
102
112
|
#
|
|
103
113
|
# db.create_collection("myCollection"){ |err, resp| ... }
|
data/lib/monga.rb
CHANGED
data/monga.gemspec
CHANGED
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = "monga"
|
|
7
|
-
spec.version = "0.0.
|
|
7
|
+
spec.version = "0.0.8"
|
|
8
8
|
spec.authors = ["Petr Yanovich"]
|
|
9
9
|
spec.email = ["fl00r@yandex.ru"]
|
|
10
10
|
spec.description = %q{Yet another MongoDB Ruby Client}
|
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.add_development_dependency "kgio"
|
|
23
23
|
spec.add_development_dependency "em-synchrony"
|
|
24
24
|
|
|
25
|
-
spec.add_dependency "bson", ["~> 2.0.0.
|
|
25
|
+
spec.add_dependency "bson", ["~> 2.0.0.rc1"]
|
|
26
26
|
# spec.add_dependency "bson"
|
|
27
27
|
# spec.add_dependency "bson_ext"
|
|
28
28
|
spec.add_dependency "bin_utils"
|
|
@@ -28,6 +28,17 @@ describe Monga::Database do
|
|
|
28
28
|
@db.eval("1+1")["retval"].must_equal 2.0
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
+
# DROP DATABASE
|
|
32
|
+
|
|
33
|
+
describe "dropping database" do
|
|
34
|
+
it "should drop database and all its data" do
|
|
35
|
+
@collection.safe_insert(foo: "bar")
|
|
36
|
+
@collection.count.must_equal 1
|
|
37
|
+
@db.drop
|
|
38
|
+
@collection.count.must_equal 0
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
31
42
|
# INDEXES
|
|
32
43
|
|
|
33
44
|
describe "indexes" do
|
|
@@ -47,7 +58,6 @@ describe Monga::Database do
|
|
|
47
58
|
|
|
48
59
|
describe "getLastError" do
|
|
49
60
|
before do
|
|
50
|
-
@collection.drop_indexes
|
|
51
61
|
@collection.safe_ensure_index({ personal_id: 1 }, { unique: true, sparse: true })
|
|
52
62
|
end
|
|
53
63
|
|
|
@@ -56,6 +56,26 @@ describe Monga::Database do
|
|
|
56
56
|
end
|
|
57
57
|
end
|
|
58
58
|
|
|
59
|
+
# DROP DATABASE
|
|
60
|
+
|
|
61
|
+
describe "dropping database" do
|
|
62
|
+
it "should drop database and all its data" do
|
|
63
|
+
EM.run do
|
|
64
|
+
@collection.safe_insert(foo: "bar") do
|
|
65
|
+
@collection.count do |err, count|
|
|
66
|
+
count.must_equal 1
|
|
67
|
+
@db.drop do
|
|
68
|
+
@collection.count do |err, count|
|
|
69
|
+
count.must_equal 0
|
|
70
|
+
EM.stop
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
59
79
|
# INDEXES
|
|
60
80
|
|
|
61
81
|
describe "indexes" do
|
|
@@ -89,10 +109,8 @@ describe Monga::Database do
|
|
|
89
109
|
describe "getLastError" do
|
|
90
110
|
before do
|
|
91
111
|
EM.run do
|
|
92
|
-
@collection.
|
|
93
|
-
|
|
94
|
-
EM.stop
|
|
95
|
-
end
|
|
112
|
+
@collection.safe_ensure_index({ personal_id: 1 }, { unique: true, sparse: true }) do
|
|
113
|
+
EM.stop
|
|
96
114
|
end
|
|
97
115
|
end
|
|
98
116
|
end
|
|
@@ -43,6 +43,20 @@ describe Monga::Database do
|
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
+
# DROP DATABASE
|
|
47
|
+
|
|
48
|
+
describe "dropping database" do
|
|
49
|
+
it "should drop database and all its data" do
|
|
50
|
+
EM.synchrony do
|
|
51
|
+
@collection.safe_insert(foo: "bar")
|
|
52
|
+
@collection.count.must_equal 1
|
|
53
|
+
@db.drop
|
|
54
|
+
@collection.count.must_equal 0
|
|
55
|
+
EM.stop
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
46
60
|
# INDEXES
|
|
47
61
|
|
|
48
62
|
describe "indexes" do
|
|
@@ -69,7 +83,6 @@ describe Monga::Database do
|
|
|
69
83
|
describe "getLastError" do
|
|
70
84
|
before do
|
|
71
85
|
EM.synchrony do
|
|
72
|
-
@collection.drop_indexes
|
|
73
86
|
@collection.safe_ensure_index({ personal_id: 1 }, { unique: true, sparse: true })
|
|
74
87
|
EM.stop
|
|
75
88
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: monga
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.8
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,104 +9,104 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2013-
|
|
12
|
+
date: 2013-07-03 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: bundler
|
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
16
18
|
requirements:
|
|
17
19
|
- - ~>
|
|
18
20
|
- !ruby/object:Gem::Version
|
|
19
21
|
version: '1.3'
|
|
20
|
-
none: false
|
|
21
22
|
type: :development
|
|
23
|
+
prerelease: false
|
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
23
26
|
requirements:
|
|
24
27
|
- - ~>
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
29
|
version: '1.3'
|
|
27
|
-
none: false
|
|
28
|
-
prerelease: false
|
|
29
|
-
name: bundler
|
|
30
30
|
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: rake
|
|
31
32
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
32
34
|
requirements:
|
|
33
35
|
- - ! '>='
|
|
34
36
|
- !ruby/object:Gem::Version
|
|
35
37
|
version: '0'
|
|
36
|
-
none: false
|
|
37
38
|
type: :development
|
|
39
|
+
prerelease: false
|
|
38
40
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
39
42
|
requirements:
|
|
40
43
|
- - ! '>='
|
|
41
44
|
- !ruby/object:Gem::Version
|
|
42
45
|
version: '0'
|
|
43
|
-
none: false
|
|
44
|
-
prerelease: false
|
|
45
|
-
name: rake
|
|
46
46
|
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: kgio
|
|
47
48
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
none: false
|
|
48
50
|
requirements:
|
|
49
51
|
- - ! '>='
|
|
50
52
|
- !ruby/object:Gem::Version
|
|
51
53
|
version: '0'
|
|
52
|
-
none: false
|
|
53
54
|
type: :development
|
|
55
|
+
prerelease: false
|
|
54
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
55
58
|
requirements:
|
|
56
59
|
- - ! '>='
|
|
57
60
|
- !ruby/object:Gem::Version
|
|
58
61
|
version: '0'
|
|
59
|
-
none: false
|
|
60
|
-
prerelease: false
|
|
61
|
-
name: kgio
|
|
62
62
|
- !ruby/object:Gem::Dependency
|
|
63
|
+
name: em-synchrony
|
|
63
64
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
+
none: false
|
|
64
66
|
requirements:
|
|
65
67
|
- - ! '>='
|
|
66
68
|
- !ruby/object:Gem::Version
|
|
67
69
|
version: '0'
|
|
68
|
-
none: false
|
|
69
70
|
type: :development
|
|
71
|
+
prerelease: false
|
|
70
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
71
74
|
requirements:
|
|
72
75
|
- - ! '>='
|
|
73
76
|
- !ruby/object:Gem::Version
|
|
74
77
|
version: '0'
|
|
75
|
-
none: false
|
|
76
|
-
prerelease: false
|
|
77
|
-
name: em-synchrony
|
|
78
78
|
- !ruby/object:Gem::Dependency
|
|
79
|
+
name: bson
|
|
79
80
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
+
none: false
|
|
80
82
|
requirements:
|
|
81
83
|
- - ~>
|
|
82
84
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: 2.0.0.
|
|
84
|
-
none: false
|
|
85
|
+
version: 2.0.0.rc1
|
|
85
86
|
type: :runtime
|
|
87
|
+
prerelease: false
|
|
86
88
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
+
none: false
|
|
87
90
|
requirements:
|
|
88
91
|
- - ~>
|
|
89
92
|
- !ruby/object:Gem::Version
|
|
90
|
-
version: 2.0.0.
|
|
91
|
-
none: false
|
|
92
|
-
prerelease: false
|
|
93
|
-
name: bson
|
|
93
|
+
version: 2.0.0.rc1
|
|
94
94
|
- !ruby/object:Gem::Dependency
|
|
95
|
+
name: bin_utils
|
|
95
96
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
+
none: false
|
|
96
98
|
requirements:
|
|
97
99
|
- - ! '>='
|
|
98
100
|
- !ruby/object:Gem::Version
|
|
99
101
|
version: '0'
|
|
100
|
-
none: false
|
|
101
102
|
type: :runtime
|
|
103
|
+
prerelease: false
|
|
102
104
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
+
none: false
|
|
103
106
|
requirements:
|
|
104
107
|
- - ! '>='
|
|
105
108
|
- !ruby/object:Gem::Version
|
|
106
109
|
version: '0'
|
|
107
|
-
none: false
|
|
108
|
-
prerelease: false
|
|
109
|
-
name: bin_utils
|
|
110
110
|
description: Yet another MongoDB Ruby Client
|
|
111
111
|
email:
|
|
112
112
|
- fl00r@yandex.ru
|
|
@@ -174,23 +174,23 @@ rdoc_options: []
|
|
|
174
174
|
require_paths:
|
|
175
175
|
- lib
|
|
176
176
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
|
+
none: false
|
|
177
178
|
requirements:
|
|
178
179
|
- - ! '>='
|
|
179
180
|
- !ruby/object:Gem::Version
|
|
180
|
-
hash: -862637376897312253
|
|
181
181
|
version: '0'
|
|
182
182
|
segments:
|
|
183
183
|
- 0
|
|
184
|
-
|
|
184
|
+
hash: 4381125607140574602
|
|
185
185
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
186
|
+
none: false
|
|
186
187
|
requirements:
|
|
187
188
|
- - ! '>='
|
|
188
189
|
- !ruby/object:Gem::Version
|
|
189
|
-
hash: -862637376897312253
|
|
190
190
|
version: '0'
|
|
191
191
|
segments:
|
|
192
192
|
- 0
|
|
193
|
-
|
|
193
|
+
hash: 4381125607140574602
|
|
194
194
|
requirements: []
|
|
195
195
|
rubyforge_project:
|
|
196
196
|
rubygems_version: 1.8.25
|