mongo 1.2.4 → 1.3.0.rc0
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/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
|