mongo 1.2.4 → 1.3.0.rc0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +13 -25
- data/Rakefile +9 -1
- data/docs/HISTORY.md +19 -0
- data/docs/RELEASES.md +33 -0
- data/docs/REPLICA_SETS.md +4 -3
- data/lib/mongo.rb +20 -2
- data/lib/mongo/collection.rb +15 -2
- data/lib/mongo/connection.rb +75 -14
- data/lib/mongo/cursor.rb +12 -4
- data/lib/mongo/db.rb +3 -3
- data/lib/mongo/exceptions.rb +3 -0
- data/lib/mongo/gridfs/grid_io.rb +88 -7
- data/lib/mongo/repl_set_connection.rb +29 -11
- data/lib/mongo/util/pool.rb +15 -6
- data/lib/mongo/util/timeout.rb +42 -0
- data/lib/mongo/util/uri_parser.rb +5 -1
- data/test/auxillary/fork_test.rb +30 -0
- data/test/bson/bson_test.rb +68 -27
- data/test/bson/byte_buffer_test.rb +11 -0
- data/test/bson/object_id_test.rb +14 -1
- data/test/bson/ordered_hash_test.rb +7 -0
- data/test/bson/timestamp_test.rb +24 -0
- data/test/collection_test.rb +41 -24
- data/test/connection_test.rb +33 -2
- data/test/conversions_test.rb +10 -11
- data/test/cursor_fail_test.rb +1 -1
- data/test/cursor_message_test.rb +1 -1
- data/test/cursor_test.rb +33 -4
- data/test/db_api_test.rb +13 -2
- data/test/db_test.rb +3 -3
- data/test/grid_file_system_test.rb +0 -1
- data/test/grid_io_test.rb +72 -1
- data/test/grid_test.rb +16 -16
- data/test/replica_sets/connect_test.rb +8 -0
- data/test/replica_sets/query_test.rb +10 -0
- data/test/support/hash_with_indifferent_access.rb +0 -13
- data/test/support_test.rb +0 -1
- data/test/test_helper.rb +27 -8
- data/test/timeout_test.rb +14 -0
- data/test/unit/collection_test.rb +1 -1
- data/test/unit/connection_test.rb +0 -13
- data/test/unit/cursor_test.rb +16 -6
- data/test/unit/db_test.rb +9 -11
- data/test/unit/repl_set_connection_test.rb +0 -13
- data/test/unit/safe_test.rb +1 -1
- metadata +15 -23
data/test/grid_io_test.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require './test/test_helper'
|
2
|
-
include Mongo
|
3
2
|
|
4
3
|
class GridIOTest < Test::Unit::TestCase
|
5
4
|
|
@@ -33,6 +32,78 @@ class GridIOTest < Test::Unit::TestCase
|
|
33
32
|
end
|
34
33
|
end
|
35
34
|
|
35
|
+
context "StringIO methods" do
|
36
|
+
setup do
|
37
|
+
@filename = 'test'
|
38
|
+
@mode = 'w'
|
39
|
+
@data = "012345678\n" * 100000
|
40
|
+
@file = GridIO.new(@files, @chunks, @filename, @mode)
|
41
|
+
@file.write(@data)
|
42
|
+
@file.close
|
43
|
+
end
|
44
|
+
|
45
|
+
should "read data character by character using" do
|
46
|
+
bytes = 0
|
47
|
+
file = GridIO.new(@files, @chunks, nil, "r", :query => {:_id => @file.files_id})
|
48
|
+
while char = file.getc
|
49
|
+
bytes += 1
|
50
|
+
end
|
51
|
+
assert_equal bytes, 1_000_000
|
52
|
+
end
|
53
|
+
|
54
|
+
should "read length is a length is given" do
|
55
|
+
file = GridIO.new(@files, @chunks, nil, "r", :query => {:_id => @file.files_id})
|
56
|
+
string = file.gets(1000)
|
57
|
+
assert_equal string.length, 1000
|
58
|
+
bytes = 0
|
59
|
+
bytes += string.length
|
60
|
+
while string = file.gets(1000)
|
61
|
+
bytes += string.length
|
62
|
+
end
|
63
|
+
assert_equal bytes, 1_000_000
|
64
|
+
end
|
65
|
+
|
66
|
+
should "read to the end of the line by default and assign to $_" do
|
67
|
+
file = GridIO.new(@files, @chunks, nil, "r", :query => {:_id => @file.files_id})
|
68
|
+
string = file.gets
|
69
|
+
assert_equal 10, string.length
|
70
|
+
end
|
71
|
+
|
72
|
+
should "read to a given separator" do
|
73
|
+
file = GridIO.new(@files, @chunks, nil, "r", :query => {:_id => @file.files_id})
|
74
|
+
string = file.gets("5")
|
75
|
+
assert_equal 6, string.length
|
76
|
+
end
|
77
|
+
|
78
|
+
should "read a multi-character separator" do
|
79
|
+
file = GridIO.new(@files, @chunks, nil, "r", :query => {:_id => @file.files_id})
|
80
|
+
string = file.gets("45")
|
81
|
+
assert_equal 6, string.length
|
82
|
+
string = file.gets("45")
|
83
|
+
assert_equal "678\n012345", string
|
84
|
+
string = file.gets("\n01")
|
85
|
+
assert_equal "678\n01", string
|
86
|
+
end
|
87
|
+
|
88
|
+
should "read a mult-character separator with a length" do
|
89
|
+
file = GridIO.new(@files, @chunks, nil, "r", :query => {:_id => @file.files_id})
|
90
|
+
string = file.gets("45", 3)
|
91
|
+
assert_equal 3, string.length
|
92
|
+
end
|
93
|
+
|
94
|
+
should "tell position, eof, and rewind" do
|
95
|
+
file = GridIO.new(@files, @chunks, nil, "r", :query => {:_id => @file.files_id})
|
96
|
+
string = file.read(1000)
|
97
|
+
assert_equal 1000, file.pos
|
98
|
+
assert !file.eof?
|
99
|
+
file.read
|
100
|
+
assert file.eof?
|
101
|
+
file.rewind
|
102
|
+
assert_equal 0, file.pos
|
103
|
+
assert_equal 1_000_000, file.read.length
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
36
107
|
context "Seeking" do
|
37
108
|
setup do
|
38
109
|
@filename = 'test'
|
data/test/grid_test.rb
CHANGED
@@ -1,6 +1,22 @@
|
|
1
1
|
require './test/test_helper'
|
2
2
|
include Mongo
|
3
3
|
|
4
|
+
def read_and_write_stream(filename, read_length, opts={})
|
5
|
+
io = File.open(File.join(File.dirname(__FILE__), 'data', filename), 'r')
|
6
|
+
id = @grid.put(io, opts.merge!(:filename => filename + read_length.to_s))
|
7
|
+
file = @grid.get(id)
|
8
|
+
io.rewind
|
9
|
+
data = io.read
|
10
|
+
if data.respond_to?(:force_encoding)
|
11
|
+
data.force_encoding("binary")
|
12
|
+
end
|
13
|
+
read_data = ""
|
14
|
+
while(chunk = file.read(read_length))
|
15
|
+
read_data << chunk
|
16
|
+
end
|
17
|
+
assert_equal data.length, read_data.length
|
18
|
+
end
|
19
|
+
|
4
20
|
class GridTest < Test::Unit::TestCase
|
5
21
|
context "Tests:" do
|
6
22
|
setup do
|
@@ -161,22 +177,6 @@ class GridTest < Test::Unit::TestCase
|
|
161
177
|
|
162
178
|
context "Streaming: " do || {}
|
163
179
|
setup do
|
164
|
-
def read_and_write_stream(filename, read_length, opts={})
|
165
|
-
io = File.open(File.join(File.dirname(__FILE__), 'data', filename), 'r')
|
166
|
-
id = @grid.put(io, opts.merge!(:filename => filename + read_length.to_s))
|
167
|
-
file = @grid.get(id)
|
168
|
-
io.rewind
|
169
|
-
data = io.read
|
170
|
-
if data.respond_to?(:force_encoding)
|
171
|
-
data.force_encoding("binary")
|
172
|
-
end
|
173
|
-
read_data = ""
|
174
|
-
while(chunk = file.read(read_length))
|
175
|
-
read_data << chunk
|
176
|
-
end
|
177
|
-
assert_equal data.length, read_data.length
|
178
|
-
end
|
179
|
-
|
180
180
|
@grid = Grid.new(@db, 'test-fs')
|
181
181
|
end
|
182
182
|
|
@@ -39,6 +39,14 @@ class ConnectTest < Test::Unit::TestCase
|
|
39
39
|
assert_equal RS.arbiters.sort, @conn.arbiters.sort
|
40
40
|
end
|
41
41
|
|
42
|
+
def test_host_port_accessors
|
43
|
+
@conn = ReplSetConnection.new([RS.host, RS.ports[0]], [RS.host, RS.ports[1]],
|
44
|
+
[RS.host, RS.ports[2]], :name => RS.name)
|
45
|
+
|
46
|
+
assert_equal @conn.host, RS.primary[0]
|
47
|
+
assert_equal @conn.port, RS.primary[1]
|
48
|
+
end
|
49
|
+
|
42
50
|
def test_connect_with_primary_node_killed
|
43
51
|
node = RS.kill_primary
|
44
52
|
|
@@ -27,6 +27,8 @@ class ReplicaSetQueryTest < Test::Unit::TestCase
|
|
27
27
|
assert results.any? {|r| r['a'] == a}, "Could not find record for a => #{a}"
|
28
28
|
end
|
29
29
|
|
30
|
+
puts "Benchmark before failover: #{benchmark_queries}"
|
31
|
+
|
30
32
|
RS.kill_primary
|
31
33
|
|
32
34
|
results = []
|
@@ -35,7 +37,15 @@ class ReplicaSetQueryTest < Test::Unit::TestCase
|
|
35
37
|
[20, 30, 40].each do |a|
|
36
38
|
assert results.any? {|r| r['a'] == a}, "Could not find record for a => #{a}"
|
37
39
|
end
|
40
|
+
|
41
|
+
puts "Benchmark after failover: #{benchmark_queries}"
|
38
42
|
end
|
39
43
|
end
|
40
44
|
|
45
|
+
def benchmark_queries
|
46
|
+
t1 = Time.now
|
47
|
+
10000.times { @coll.find_one }
|
48
|
+
Time.now - t1
|
49
|
+
end
|
50
|
+
|
41
51
|
end
|
@@ -38,19 +38,6 @@ class Hash
|
|
38
38
|
|
39
39
|
alias_method :to_options, :symbolize_keys
|
40
40
|
#alias_method :to_options!, :symbolize_keys!
|
41
|
-
|
42
|
-
# Validate all keys in a hash match *valid keys, raising ArgumentError on a mismatch.
|
43
|
-
# Note that keys are NOT treated indifferently, meaning if you use strings for keys but assert symbols
|
44
|
-
# as keys, this will fail.
|
45
|
-
#
|
46
|
-
# ==== Examples
|
47
|
-
# { :name => "Rob", :years => "28" }.assert_valid_keys(:name, :age) # => raises "ArgumentError: Unknown key(s): years"
|
48
|
-
# { :name => "Rob", :age => "28" }.assert_valid_keys("name", "age") # => raises "ArgumentError: Unknown key(s): name, age"
|
49
|
-
# { :name => "Rob", :age => "28" }.assert_valid_keys(:name, :age) # => passes, raises nothing
|
50
|
-
def assert_valid_keys(*valid_keys)
|
51
|
-
unknown_keys = keys - [valid_keys].flatten
|
52
|
-
raise(ArgumentError, "Unknown key(s): #{unknown_keys.join(", ")}") unless unknown_keys.empty?
|
53
|
-
end
|
54
41
|
end
|
55
42
|
|
56
43
|
module ActiveSupport
|
data/test/support_test.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -1,14 +1,22 @@
|
|
1
1
|
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
-
require 'rubygems' if ENV['C_EXT']
|
2
|
+
require 'rubygems' if RUBY_VERSION < '1.9.0' && ENV['C_EXT']
|
3
3
|
require 'mongo'
|
4
4
|
require 'test/unit'
|
5
5
|
|
6
|
+
def silently
|
7
|
+
warn_level = $VERBOSE
|
8
|
+
$VERBOSE = nil
|
9
|
+
result = yield
|
10
|
+
$VERBOSE = warn_level
|
11
|
+
result
|
12
|
+
end
|
13
|
+
|
6
14
|
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'shoulda'
|
9
|
-
require 'mocha'
|
10
|
-
|
11
|
-
|
15
|
+
require 'rubygems' if RUBY_VERSION < "1.9.0" && !ENV['C_EXT']
|
16
|
+
silently { require 'shoulda' }
|
17
|
+
silently { require 'mocha' }
|
18
|
+
rescue LoadError
|
19
|
+
puts <<MSG
|
12
20
|
|
13
21
|
This test suite requires shoulda and mocha.
|
14
22
|
You can install them as follows:
|
@@ -16,7 +24,8 @@ You can install them as follows:
|
|
16
24
|
gem install mocha
|
17
25
|
|
18
26
|
MSG
|
19
|
-
|
27
|
+
|
28
|
+
exit
|
20
29
|
end
|
21
30
|
|
22
31
|
require 'bson_ext/cbson' if !(RUBY_PLATFORM =~ /java/) && ENV['C_EXT']
|
@@ -69,7 +78,17 @@ class Test::Unit::TestCase
|
|
69
78
|
self.class.mongo_port
|
70
79
|
end
|
71
80
|
|
72
|
-
|
81
|
+
def new_mock_socket(host='localhost', port=27017)
|
82
|
+
socket = Object.new
|
83
|
+
socket.stubs(:setsockopt).with(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
|
84
|
+
socket.stubs(:close)
|
85
|
+
socket
|
86
|
+
end
|
87
|
+
|
88
|
+
def new_mock_db
|
89
|
+
db = Object.new
|
90
|
+
end
|
91
|
+
|
73
92
|
def assert_raise_error(klass, message)
|
74
93
|
begin
|
75
94
|
yield
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class TestTimeout < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_timeout
|
6
|
+
@conn = standard_connection(:op_timeout => 2)
|
7
|
+
assert @conn[MONGO_TEST_DB]['test'].save({:a => 1})
|
8
|
+
assert @conn[MONGO_TEST_DB]['test'].find.next
|
9
|
+
assert_raise OperationTimeout do
|
10
|
+
@conn[MONGO_TEST_DB]['test'].find({'$where' => 'function() { while(true) { this.a == 1 } }'}).next
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -3,19 +3,6 @@ include Mongo
|
|
3
3
|
|
4
4
|
class ConnectionTest < Test::Unit::TestCase
|
5
5
|
context "Initialization: " do
|
6
|
-
setup do
|
7
|
-
def new_mock_socket(host='localhost', port=27017)
|
8
|
-
socket = Object.new
|
9
|
-
socket.stubs(:setsockopt).with(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
|
10
|
-
socket.stubs(:close)
|
11
|
-
socket
|
12
|
-
end
|
13
|
-
|
14
|
-
def new_mock_db
|
15
|
-
db = Object.new
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
6
|
context "given a single node" do
|
20
7
|
setup do
|
21
8
|
@conn = Connection.new('localhost', 27017, :connect => false)
|
data/test/unit/cursor_test.rb
CHANGED
@@ -12,28 +12,32 @@ class CursorTest < Test::Unit::TestCase
|
|
12
12
|
end
|
13
13
|
|
14
14
|
should "set timeout" do
|
15
|
-
|
15
|
+
assert @cursor.timeout
|
16
|
+
assert @cursor.query_options_hash[:timeout]
|
16
17
|
end
|
17
18
|
|
18
19
|
should "set selector" do
|
19
|
-
|
20
|
+
assert_equal({}, @cursor.selector)
|
20
21
|
|
21
22
|
@cursor = Cursor.new(@collection, :selector => {:name => "Jones"})
|
22
|
-
|
23
|
+
assert_equal({:name => "Jones"}, @cursor.selector)
|
24
|
+
assert_equal({:name => "Jones"}, @cursor.query_options_hash[:selector])
|
23
25
|
end
|
24
26
|
|
25
27
|
should "set fields" do
|
26
28
|
assert_nil @cursor.fields
|
27
29
|
|
28
30
|
@cursor = Cursor.new(@collection, :fields => [:name, :date])
|
29
|
-
|
31
|
+
assert_equal({:name => 1, :date => 1}, @cursor.fields)
|
32
|
+
assert_equal({:name => 1, :date => 1}, @cursor.query_options_hash[:fields])
|
30
33
|
end
|
31
34
|
|
32
35
|
should "set mix fields 0 and 1" do
|
33
36
|
assert_nil @cursor.fields
|
34
37
|
|
35
38
|
@cursor = Cursor.new(@collection, :fields => {:name => 1, :date => 0})
|
36
|
-
|
39
|
+
assert_equal({:name => 1, :date => 0}, @cursor.fields)
|
40
|
+
assert_equal({:name => 1, :date => 0}, @cursor.query_options_hash[:fields])
|
37
41
|
end
|
38
42
|
|
39
43
|
should "set limit" do
|
@@ -41,6 +45,7 @@ class CursorTest < Test::Unit::TestCase
|
|
41
45
|
|
42
46
|
@cursor = Cursor.new(@collection, :limit => 10)
|
43
47
|
assert_equal 10, @cursor.limit
|
48
|
+
assert_equal 10, @cursor.query_options_hash[:limit]
|
44
49
|
end
|
45
50
|
|
46
51
|
|
@@ -49,6 +54,7 @@ class CursorTest < Test::Unit::TestCase
|
|
49
54
|
|
50
55
|
@cursor = Cursor.new(@collection, :skip => 5)
|
51
56
|
assert_equal 5, @cursor.skip
|
57
|
+
assert_equal 5, @cursor.query_options_hash[:skip]
|
52
58
|
end
|
53
59
|
|
54
60
|
should "set sort order" do
|
@@ -56,6 +62,7 @@ class CursorTest < Test::Unit::TestCase
|
|
56
62
|
|
57
63
|
@cursor = Cursor.new(@collection, :order => "last_name")
|
58
64
|
assert_equal "last_name", @cursor.order
|
65
|
+
assert_equal "last_name", @cursor.query_options_hash[:order]
|
59
66
|
end
|
60
67
|
|
61
68
|
should "set hint" do
|
@@ -63,6 +70,7 @@ class CursorTest < Test::Unit::TestCase
|
|
63
70
|
|
64
71
|
@cursor = Cursor.new(@collection, :hint => "name")
|
65
72
|
assert_equal "name", @cursor.hint
|
73
|
+
assert_equal "name", @cursor.query_options_hash[:hint]
|
66
74
|
end
|
67
75
|
|
68
76
|
should "cache full collection name" do
|
@@ -72,7 +80,9 @@ class CursorTest < Test::Unit::TestCase
|
|
72
80
|
|
73
81
|
context "Query fields" do
|
74
82
|
setup do
|
75
|
-
@
|
83
|
+
@logger = mock()
|
84
|
+
@logger.stubs(:debug)
|
85
|
+
@connection = stub(:class => Connection, :logger => @logger)
|
76
86
|
@db = stub(:slave_ok? => true, :name => "testing", :connection => @connection)
|
77
87
|
@collection = stub(:db => @db, :name => "items")
|
78
88
|
end
|
data/test/unit/db_test.rb
CHANGED
@@ -1,18 +1,16 @@
|
|
1
1
|
require './test/test_helper'
|
2
2
|
|
3
|
+
def insert_message(db, documents)
|
4
|
+
documents = [documents] unless documents.is_a?(Array)
|
5
|
+
message = ByteBuffer.new
|
6
|
+
message.put_int(0)
|
7
|
+
Mongo::BSON_CODER.serialize_cstr(message, "#{db.name}.test")
|
8
|
+
documents.each { |doc| message.put_array(Mongo::BSON_CODER.new.serialize(doc, true).to_a) }
|
9
|
+
message = db.add_message_headers(Mongo::Constants::OP_INSERT, message)
|
10
|
+
end
|
11
|
+
|
3
12
|
class DBTest < Test::Unit::TestCase
|
4
13
|
context "DBTest: " do
|
5
|
-
setup do
|
6
|
-
def insert_message(db, documents)
|
7
|
-
documents = [documents] unless documents.is_a?(Array)
|
8
|
-
message = ByteBuffer.new
|
9
|
-
message.put_int(0)
|
10
|
-
Mongo::BSON_CODER..serialize_cstr(message, "#{db.name}.test")
|
11
|
-
documents.each { |doc| message.put_array(Mongo::BSON_CODER.new.serialize(doc, true).to_a) }
|
12
|
-
message = db.add_message_headers(Mongo::Constants::OP_INSERT, message)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
14
|
context "DB commands" do
|
17
15
|
setup do
|
18
16
|
@conn = stub()
|
@@ -3,19 +3,6 @@ include Mongo
|
|
3
3
|
|
4
4
|
class ReplSetConnectionTest < Test::Unit::TestCase
|
5
5
|
context "Initialization: " do
|
6
|
-
setup do
|
7
|
-
def new_mock_socket(host='localhost', port=27017)
|
8
|
-
socket = Object.new
|
9
|
-
socket.stubs(:setsockopt).with(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
|
10
|
-
socket.stubs(:close)
|
11
|
-
socket
|
12
|
-
end
|
13
|
-
|
14
|
-
def new_mock_db
|
15
|
-
db = Object.new
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
6
|
context "connecting to a replica set" do
|
20
7
|
setup do
|
21
8
|
TCPSocket.stubs(:new).returns(new_mock_socket('localhost', 27017))
|
data/test/unit/safe_test.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
- 4
|
10
|
-
version: 1.2.4
|
4
|
+
prerelease: 6
|
5
|
+
version: 1.3.0.rc0
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Jim Menard
|
@@ -17,7 +12,7 @@ autorequire:
|
|
17
12
|
bindir: bin
|
18
13
|
cert_chain: []
|
19
14
|
|
20
|
-
date: 2011-
|
15
|
+
date: 2011-03-29 00:00:00 -04:00
|
21
16
|
default_executable:
|
22
17
|
dependencies:
|
23
18
|
- !ruby/object:Gem::Dependency
|
@@ -28,12 +23,7 @@ dependencies:
|
|
28
23
|
requirements:
|
29
24
|
- - ">="
|
30
25
|
- !ruby/object:Gem::Version
|
31
|
-
|
32
|
-
segments:
|
33
|
-
- 1
|
34
|
-
- 2
|
35
|
-
- 4
|
36
|
-
version: 1.2.4
|
26
|
+
version: 1.3.0.rc0
|
37
27
|
type: :runtime
|
38
28
|
version_requirements: *id001
|
39
29
|
description: A Ruby driver for MongoDB. For more information about Mongo, see http://www.mongodb.org.
|
@@ -66,12 +56,14 @@ files:
|
|
66
56
|
- lib/mongo/util/pool.rb
|
67
57
|
- lib/mongo/util/server_version.rb
|
68
58
|
- lib/mongo/util/support.rb
|
59
|
+
- lib/mongo/util/timeout.rb
|
69
60
|
- lib/mongo/util/uri_parser.rb
|
70
61
|
- docs/1.0_UPGRADE.md
|
71
62
|
- docs/CREDITS.md
|
72
63
|
- docs/FAQ.md
|
73
64
|
- docs/GridFS.md
|
74
65
|
- docs/HISTORY.md
|
66
|
+
- docs/RELEASES.md
|
75
67
|
- docs/REPLICA_SETS.md
|
76
68
|
- docs/TUTORIAL.md
|
77
69
|
- docs/WRITE_CONCERN.md
|
@@ -79,6 +71,7 @@ files:
|
|
79
71
|
- test/auxillary/1.4_features.rb
|
80
72
|
- test/auxillary/authentication_test.rb
|
81
73
|
- test/auxillary/autoreconnect_test.rb
|
74
|
+
- test/auxillary/fork_test.rb
|
82
75
|
- test/auxillary/repl_set_auth_test.rb
|
83
76
|
- test/auxillary/slave_connection_test.rb
|
84
77
|
- test/auxillary/threaded_authentication_test.rb
|
@@ -90,6 +83,7 @@ files:
|
|
90
83
|
- test/bson/json_test.rb
|
91
84
|
- test/bson/object_id_test.rb
|
92
85
|
- test/bson/ordered_hash_test.rb
|
86
|
+
- test/bson/timestamp_test.rb
|
93
87
|
- test/collection_test.rb
|
94
88
|
- test/connection_test.rb
|
95
89
|
- test/conversions_test.rb
|
@@ -121,6 +115,7 @@ files:
|
|
121
115
|
- test/test_helper.rb
|
122
116
|
- test/threading/threading_with_large_pool_test.rb
|
123
117
|
- test/threading_test.rb
|
118
|
+
- test/timeout_test.rb
|
124
119
|
- test/tools/auth_repl_set_manager.rb
|
125
120
|
- test/tools/repl_set_manager.rb
|
126
121
|
- test/unit/collection_test.rb
|
@@ -148,23 +143,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
148
143
|
requirements:
|
149
144
|
- - ">="
|
150
145
|
- !ruby/object:Gem::Version
|
151
|
-
hash: 3
|
152
|
-
segments:
|
153
|
-
- 0
|
154
146
|
version: "0"
|
155
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
148
|
none: false
|
157
149
|
requirements:
|
158
|
-
- - "
|
150
|
+
- - ">"
|
159
151
|
- !ruby/object:Gem::Version
|
160
|
-
|
161
|
-
segments:
|
162
|
-
- 0
|
163
|
-
version: "0"
|
152
|
+
version: 1.3.1
|
164
153
|
requirements: []
|
165
154
|
|
166
155
|
rubyforge_project:
|
167
|
-
rubygems_version: 1.
|
156
|
+
rubygems_version: 1.5.2
|
168
157
|
signing_key:
|
169
158
|
specification_version: 3
|
170
159
|
summary: Ruby driver for the MongoDB
|
@@ -172,6 +161,7 @@ test_files:
|
|
172
161
|
- test/auxillary/1.4_features.rb
|
173
162
|
- test/auxillary/authentication_test.rb
|
174
163
|
- test/auxillary/autoreconnect_test.rb
|
164
|
+
- test/auxillary/fork_test.rb
|
175
165
|
- test/auxillary/repl_set_auth_test.rb
|
176
166
|
- test/auxillary/slave_connection_test.rb
|
177
167
|
- test/auxillary/threaded_authentication_test.rb
|
@@ -183,6 +173,7 @@ test_files:
|
|
183
173
|
- test/bson/json_test.rb
|
184
174
|
- test/bson/object_id_test.rb
|
185
175
|
- test/bson/ordered_hash_test.rb
|
176
|
+
- test/bson/timestamp_test.rb
|
186
177
|
- test/collection_test.rb
|
187
178
|
- test/connection_test.rb
|
188
179
|
- test/conversions_test.rb
|
@@ -214,6 +205,7 @@ test_files:
|
|
214
205
|
- test/test_helper.rb
|
215
206
|
- test/threading/threading_with_large_pool_test.rb
|
216
207
|
- test/threading_test.rb
|
208
|
+
- test/timeout_test.rb
|
217
209
|
- test/tools/auth_repl_set_manager.rb
|
218
210
|
- test/tools/repl_set_manager.rb
|
219
211
|
- test/unit/collection_test.rb
|