mongo 1.3.1 → 1.4.0

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.
Files changed (75) hide show
  1. data/README.md +9 -6
  2. data/Rakefile +3 -4
  3. data/docs/HISTORY.md +20 -2
  4. data/docs/READ_PREFERENCE.md +39 -0
  5. data/docs/RELEASES.md +1 -1
  6. data/docs/REPLICA_SETS.md +23 -2
  7. data/docs/TAILABLE_CURSORS.md +51 -0
  8. data/docs/TUTORIAL.md +4 -4
  9. data/docs/WRITE_CONCERN.md +5 -2
  10. data/lib/mongo.rb +7 -22
  11. data/lib/mongo/collection.rb +96 -29
  12. data/lib/mongo/connection.rb +107 -62
  13. data/lib/mongo/cursor.rb +136 -57
  14. data/lib/mongo/db.rb +26 -5
  15. data/lib/mongo/exceptions.rb +17 -1
  16. data/lib/mongo/gridfs/grid.rb +1 -1
  17. data/lib/mongo/repl_set_connection.rb +273 -156
  18. data/lib/mongo/util/logging.rb +42 -0
  19. data/lib/mongo/util/node.rb +183 -0
  20. data/lib/mongo/util/pool.rb +76 -13
  21. data/lib/mongo/util/pool_manager.rb +208 -0
  22. data/lib/mongo/util/ssl_socket.rb +38 -0
  23. data/lib/mongo/util/support.rb +9 -1
  24. data/lib/mongo/util/timeout.rb +42 -0
  25. data/lib/mongo/version.rb +3 -0
  26. data/mongo.gemspec +2 -2
  27. data/test/bson/binary_test.rb +1 -1
  28. data/test/bson/bson_string_test.rb +30 -0
  29. data/test/bson/bson_test.rb +6 -3
  30. data/test/bson/byte_buffer_test.rb +1 -1
  31. data/test/bson/hash_with_indifferent_access_test.rb +1 -1
  32. data/test/bson/json_test.rb +1 -1
  33. data/test/bson/object_id_test.rb +2 -18
  34. data/test/bson/ordered_hash_test.rb +38 -3
  35. data/test/bson/test_helper.rb +46 -0
  36. data/test/bson/timestamp_test.rb +32 -10
  37. data/test/collection_test.rb +89 -3
  38. data/test/connection_test.rb +35 -20
  39. data/test/cursor_test.rb +63 -2
  40. data/test/db_test.rb +12 -2
  41. data/test/pool_test.rb +21 -0
  42. data/test/replica_sets/connect_test.rb +26 -13
  43. data/test/replica_sets/connection_string_test.rb +1 -4
  44. data/test/replica_sets/count_test.rb +1 -0
  45. data/test/replica_sets/insert_test.rb +1 -0
  46. data/test/replica_sets/pooled_insert_test.rb +4 -1
  47. data/test/replica_sets/query_secondaries.rb +2 -1
  48. data/test/replica_sets/query_test.rb +2 -1
  49. data/test/replica_sets/read_preference_test.rb +43 -0
  50. data/test/replica_sets/refresh_test.rb +123 -0
  51. data/test/replica_sets/replication_ack_test.rb +9 -4
  52. data/test/replica_sets/rs_test_helper.rb +2 -2
  53. data/test/timeout_test.rb +14 -0
  54. data/test/tools/repl_set_manager.rb +134 -23
  55. data/test/unit/collection_test.rb +6 -8
  56. data/test/unit/connection_test.rb +4 -4
  57. data/test/unit/cursor_test.rb +23 -5
  58. data/test/unit/db_test.rb +2 -0
  59. data/test/unit/grid_test.rb +2 -0
  60. data/test/unit/node_test.rb +73 -0
  61. data/test/unit/pool_manager_test.rb +47 -0
  62. data/test/unit/read_test.rb +101 -0
  63. metadata +214 -138
  64. data/lib/mongo/test.rb +0 -20
  65. data/test/async/collection_test.rb +0 -224
  66. data/test/async/connection_test.rb +0 -24
  67. data/test/async/cursor_test.rb +0 -162
  68. data/test/async/worker_pool_test.rb +0 -99
  69. data/test/load/resque/load.rb +0 -21
  70. data/test/load/resque/processor.rb +0 -26
  71. data/test/load/unicorn/unicorn.rb +0 -29
  72. data/test/tools/load.rb +0 -58
  73. data/test/tools/sharding_manager.rb +0 -202
  74. data/test/tools/test.rb +0 -4
  75. data/test/unit/repl_set_connection_test.rb +0 -59
@@ -15,7 +15,7 @@ class CollectionTest < Test::Unit::TestCase
15
15
  @conn.expects(:send_message).with do |op, msg, log|
16
16
  op == 2001
17
17
  end
18
- @conn.stubs(:log_operation)
18
+ @coll.stubs(:log_operation)
19
19
  @coll.update({}, {:title => 'Moby Dick'})
20
20
  end
21
21
 
@@ -26,7 +26,7 @@ class CollectionTest < Test::Unit::TestCase
26
26
  @conn.expects(:send_message).with do |op, msg, log|
27
27
  op == 2002
28
28
  end
29
- @conn.expects(:log_operation).with do |name, payload|
29
+ @coll.expects(:log_operation).with do |name, payload|
30
30
  (name == :insert) && payload[:documents][0][:title].include?('Moby')
31
31
  end
32
32
  @coll.insert({:title => 'Moby Dick'})
@@ -39,9 +39,7 @@ class CollectionTest < Test::Unit::TestCase
39
39
  @conn.expects(:receive_message).with do |op, msg, log, sock|
40
40
  op == 2004
41
41
  end.returns([[], 0, 0])
42
- @conn.expects(:log_operation).with do |name, payload|
43
- (name == :find) && payload[:selector][:title].include?('Moby')
44
- end
42
+ @logger.expects(:debug)
45
43
  @coll.find({:title => 'Moby Dick'}).sort([['title', 1], ['author', 1]]).next_document
46
44
  end
47
45
 
@@ -53,7 +51,7 @@ class CollectionTest < Test::Unit::TestCase
53
51
  @conn.expects(:send_message).with do |op, msg, log|
54
52
  op == 2002
55
53
  end
56
- @conn.expects(:log_operation).with do |name, payload|
54
+ @coll.expects(:log_operation).with do |name, payload|
57
55
  (name == :insert) && payload[:documents][0][:data].inspect.include?('Binary')
58
56
  end
59
57
  @coll.insert({:data => data})
@@ -66,7 +64,7 @@ class CollectionTest < Test::Unit::TestCase
66
64
  @conn.expects(:send_message_with_safe_check).with do |op, msg, db_name, log|
67
65
  op == 2001
68
66
  end
69
- @conn.expects(:log_operation).with do |name, payload|
67
+ @coll.expects(:log_operation).with do |name, payload|
70
68
  (name == :update) && payload[:document][:title].include?('Moby')
71
69
  end
72
70
  @coll.update({}, {:title => 'Moby Dick'}, :safe => true)
@@ -79,7 +77,7 @@ class CollectionTest < Test::Unit::TestCase
79
77
  @conn.expects(:send_message_with_safe_check).with do |op, msg, db_name, log|
80
78
  op == 2001
81
79
  end
82
- @conn.stubs(:log_operation)
80
+ @coll.stubs(:log_operation)
83
81
  @coll.update({}, {:title => 'Moby Dick'}, :safe => true)
84
82
  end
85
83
 
@@ -9,8 +9,8 @@ class ConnectionTest < Test::Unit::TestCase
9
9
  TCPSocket.stubs(:new).returns(new_mock_socket)
10
10
 
11
11
  admin_db = new_mock_db
12
- admin_db.expects(:command).returns({'ok' => 1, 'ismaster' => 1}).twice
13
- @conn.expects(:[]).with('admin').returns(admin_db).twice
12
+ admin_db.expects(:command).returns({'ok' => 1, 'ismaster' => 1})
13
+ @conn.expects(:[]).with('admin').returns(admin_db)
14
14
  @conn.connect
15
15
  end
16
16
 
@@ -52,8 +52,8 @@ class ConnectionTest < Test::Unit::TestCase
52
52
  @conn = Connection.from_uri("mongodb://localhost", :connect => false)
53
53
 
54
54
  admin_db = new_mock_db
55
- admin_db.expects(:command).returns({'ok' => 1, 'ismaster' => 1}).twice
56
- @conn.expects(:[]).with('admin').returns(admin_db).twice
55
+ admin_db.expects(:command).returns({'ok' => 1, 'ismaster' => 1})
56
+ @conn.expects(:[]).with('admin').returns(admin_db)
57
57
  @conn.connect
58
58
  end
59
59
 
@@ -5,9 +5,9 @@ class CursorTest < Test::Unit::TestCase
5
5
  setup do
6
6
  @logger = mock()
7
7
  @logger.stubs(:debug)
8
- @connection = stub(:class => Connection, :logger => @logger)
9
- @db = stub(:name => "testing", :slave_ok? => false, :connection => @connection)
10
- @collection = stub(:db => @db, :name => "items")
8
+ @connection = stub(:class => Connection, :logger => @logger, :slave_ok? => false, :read_preference => :primary)
9
+ @db = stub(:name => "testing", :slave_ok? => false, :connection => @connection, :read_preference => :primary)
10
+ @collection = stub(:db => @db, :name => "items", :read_preference => :primary)
11
11
  @cursor = Cursor.new(@collection)
12
12
  end
13
13
 
@@ -76,15 +76,33 @@ class CursorTest < Test::Unit::TestCase
76
76
  should "cache full collection name" do
77
77
  assert_equal "testing.items", @cursor.full_collection_name
78
78
  end
79
+
80
+ should "raise error when batch_size is 1" do
81
+ e = assert_raise ArgumentError do
82
+ @cursor.batch_size(1)
83
+ end
84
+ assert_equal "Invalid value for batch_size 1; must be 0 or > 1.", e.message
85
+ end
86
+
87
+ should "use the limit for batch size when it's smaller than the specified batch_size" do
88
+ @cursor.limit(99)
89
+ @cursor.batch_size(100)
90
+ assert_equal 99, @cursor.batch_size
91
+ end
92
+
93
+ should "use the specified batch_size" do
94
+ @cursor.batch_size(100)
95
+ assert_equal 100, @cursor.batch_size
96
+ end
79
97
  end
80
98
 
81
99
  context "Query fields" do
82
100
  setup do
83
101
  @logger = mock()
84
102
  @logger.stubs(:debug)
85
- @connection = stub(:class => Connection, :logger => @logger)
103
+ @connection = stub(:class => Connection, :logger => @logger, :slave_ok? => false)
86
104
  @db = stub(:slave_ok? => true, :name => "testing", :connection => @connection)
87
- @collection = stub(:db => @db, :name => "items")
105
+ @collection = stub(:db => @db, :name => "items", :read_preference => :primary)
88
106
  end
89
107
 
90
108
  should "when an array should return a hash with each key" do
@@ -15,8 +15,10 @@ class DBTest < Test::Unit::TestCase
15
15
  setup do
16
16
  @conn = stub()
17
17
  @conn.stubs(:safe)
18
+ @conn.stubs(:read_preference)
18
19
  @db = DB.new("testing", @conn)
19
20
  @db.stubs(:safe)
21
+ @db.stubs(:read_preference)
20
22
  @collection = mock()
21
23
  @db.stubs(:system_command_collection).returns(@collection)
22
24
  end
@@ -6,6 +6,7 @@ class GridTest < Test::Unit::TestCase
6
6
  setup do
7
7
  @conn = stub()
8
8
  @conn.stubs(:safe)
9
+ @conn.stubs(:read_preference)
9
10
  @db = DB.new("testing", @conn)
10
11
  @files = mock()
11
12
  @chunks = mock()
@@ -13,6 +14,7 @@ class GridTest < Test::Unit::TestCase
13
14
  @db.expects(:[]).with('fs.files').returns(@files)
14
15
  @db.expects(:[]).with('fs.chunks').returns(@chunks)
15
16
  @db.stubs(:safe)
17
+ @db.stubs(:read_preference)
16
18
  end
17
19
 
18
20
  context "Grid classe with standard connections" do
@@ -0,0 +1,73 @@
1
+ require './test/test_helper'
2
+
3
+ class NodeTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @connection = stub()
7
+ end
8
+
9
+ should "refuse to connect to node without 'hosts' key" do
10
+ tcp = mock()
11
+ node = Node.new(@connection, ['localhost', 27017])
12
+ tcp.stubs(:new).returns(new_mock_socket)
13
+ @connection.stubs(:socket_class).returns(tcp)
14
+
15
+ admin_db = new_mock_db
16
+ admin_db.stubs(:command).returns({'ok' => 1, 'ismaster' => 1})
17
+ @connection.stubs(:[]).with('admin').returns(admin_db)
18
+ @connection.stubs(:connect_timeout).returns(nil)
19
+ @connection.expects(:log)
20
+
21
+ assert node.connect
22
+ node.set_config
23
+ end
24
+
25
+ should "load a node from an array" do
26
+ node = Node.new(@connection, ['power.level.com', 9001])
27
+ assert_equal 'power.level.com', node.host
28
+ assert_equal 9001, node.port
29
+ assert_equal 'power.level.com:9001', node.address
30
+ end
31
+
32
+ should "should default the port for an array" do
33
+ node = Node.new(@connection, ['power.level.com'])
34
+ assert_equal 'power.level.com', node.host
35
+ assert_equal Connection::DEFAULT_PORT, node.port
36
+ assert_equal "power.level.com:#{Connection::DEFAULT_PORT}", node.address
37
+ end
38
+
39
+ should "load a node from a string" do
40
+ node = Node.new(@connection, 'localhost:1234')
41
+ assert_equal 'localhost', node.host
42
+ assert_equal 1234, node.port
43
+ assert_equal 'localhost:1234', node.address
44
+ end
45
+
46
+ should "should default the port for a string" do
47
+ node = Node.new(@connection, '192.168.0.1')
48
+ assert_equal '192.168.0.1', node.host
49
+ assert_equal Connection::DEFAULT_PORT, node.port
50
+ assert_equal "192.168.0.1:#{Connection::DEFAULT_PORT}", node.address
51
+ end
52
+
53
+ should "two nodes with the same address should be equal" do
54
+ assert_equal Node.new(@connection, '192.168.0.1'),
55
+ Node.new(@connection, ['192.168.0.1', Connection::DEFAULT_PORT])
56
+ end
57
+
58
+ should "two nodes with the same address should have the same hash" do
59
+ assert_equal Node.new(@connection, '192.168.0.1').hash,
60
+ Node.new(@connection, ['192.168.0.1', Connection::DEFAULT_PORT]).hash
61
+ end
62
+
63
+ should "two nodes with different addresses should not be equal" do
64
+ assert_not_equal Node.new(@connection, '192.168.0.2'),
65
+ Node.new(@connection, ['192.168.0.1', Connection::DEFAULT_PORT])
66
+ end
67
+
68
+ should "two nodes with the same address should have the same hash negate" do
69
+ assert_not_equal Node.new(@connection, '192.168.0.1').hash,
70
+ Node.new(@connection, '1239.33.4.2393:29949').hash
71
+ end
72
+
73
+ end
@@ -0,0 +1,47 @@
1
+ require './test/test_helper'
2
+ include Mongo
3
+
4
+ class PoolManagerTest < Test::Unit::TestCase
5
+
6
+ context "Initialization: " do
7
+
8
+ should "populate pools correctly" do
9
+ TCPSocket.stubs(:new).returns(new_mock_socket)
10
+ @db = new_mock_db
11
+
12
+ @connection = stub("Connection")
13
+ @connection.stubs(:connect_timeout).returns(5000)
14
+ @connection.stubs(:pool_size).returns(2)
15
+ @connection.stubs(:socket_class).returns(TCPSocket)
16
+ @connection.stubs(:[]).returns(@db)
17
+
18
+ @connection.stubs(:replica_set_name).returns(nil)
19
+ @connection.stubs(:log)
20
+ @arbiters = ['localhost:27020']
21
+ @hosts = ['localhost:27017', 'localhost:27018', 'localhost:27019',
22
+ 'localhost:27020']
23
+
24
+ @db.stubs(:command).returns(
25
+ # First call to get a socket.
26
+ {'ismaster' => true, 'hosts' => @hosts, 'arbiters' => @arbiters},
27
+
28
+ # Subsequent calls to configure pools.
29
+ {'ismaster' => true, 'hosts' => @hosts, 'arbiters' => @arbiters},
30
+ {'secondary' => true, 'hosts' => @hosts, 'arbiters' => @arbiters},
31
+ {'secondary' => true, 'hosts' => @hosts, 'arbiters' => @arbiters},
32
+ {'arbiterOnly' => true, 'hosts' => @hosts, 'arbiters' => @arbiters})
33
+
34
+ seeds = [['localhost', 27017]]
35
+ manager = Mongo::PoolManager.new(@connection, seeds)
36
+ manager.connect
37
+
38
+ assert_equal ['localhost', 27017], manager.primary
39
+ assert_equal 27017, manager.primary_pool.port
40
+ assert_equal 2, manager.secondaries.length
41
+ assert_equal 27018, manager.secondary_pools[0].port
42
+ assert_equal [['localhost', 27020]], manager.arbiters
43
+ end
44
+
45
+ end
46
+
47
+ end
@@ -0,0 +1,101 @@
1
+ require './test/test_helper'
2
+
3
+ class ReadTest < Test::Unit::TestCase
4
+
5
+ context "Read mode on standard connection: " do
6
+ setup do
7
+ @read_preference = :secondary
8
+ @con = Mongo::Connection.new('localhost', 27017, :read => @read_preference, :connect => false)
9
+ end
10
+
11
+ end
12
+
13
+ context "Read mode on connection: " do
14
+ setup do
15
+ @read_preference = :secondary
16
+ @con = Mongo::ReplSetConnection.new(['localhost', 27017], :read => @read_preference, :connect => false)
17
+ end
18
+
19
+ should "store read preference on Connection" do
20
+ assert_equal @read_preference, @con.read_preference
21
+ end
22
+
23
+ should "propogate to DB" do
24
+ db = @con['foo']
25
+ assert_equal @read_preference, db.read_preference
26
+
27
+ db = @con.db('foo')
28
+ assert_equal @read_preference, db.read_preference
29
+
30
+ db = DB.new('foo', @con)
31
+ assert_equal @read_preference, db.read_preference
32
+ end
33
+
34
+ should "allow db override" do
35
+ db = DB.new('foo', @con, :read => :primary)
36
+ assert_equal :primary, db.read_preference
37
+
38
+ db = @con.db('foo', :read => :primary)
39
+ assert_equal :primary, db.read_preference
40
+ end
41
+
42
+ context "on DB: " do
43
+ setup do
44
+ @db = @con['foo']
45
+ end
46
+
47
+ should "propogate to collection" do
48
+ col = @db.collection('bar')
49
+ assert_equal @read_preference, col.read_preference
50
+
51
+ col = @db['bar']
52
+ assert_equal @read_preference, col.read_preference
53
+
54
+ col = Collection.new('bar', @db)
55
+ assert_equal @read_preference, col.read_preference
56
+ end
57
+
58
+ should "allow override on collection" do
59
+ col = @db.collection('bar', :read => :primary)
60
+ assert_equal :primary, col.read_preference
61
+
62
+ col = Collection.new('bar', @db, :read => :primary)
63
+ assert_equal :primary, col.read_preference
64
+ end
65
+ end
66
+
67
+ context "on read mode ops" do
68
+ setup do
69
+ @col = @con['foo']['bar']
70
+ @mock_socket = stub()
71
+ end
72
+
73
+ should "use default value on query" do
74
+ @con.expects(:receive_message).with do |o, m, l, s, c, r|
75
+ r == :secondary
76
+ end.returns([[], 0, 0])
77
+
78
+ @col.find_one({:a => 1})
79
+ end
80
+
81
+ should "allow override default value on query" do
82
+ @con.expects(:receive_message).with do |o, m, l, s, c, r|
83
+ r == :primary
84
+ end.returns([[], 0, 0])
85
+
86
+ @col.find_one({:a => 1}, :read => :primary)
87
+ end
88
+
89
+ should "allow override alternate value on query" do
90
+ # TODO: enable this test once we enable reading from tags.
91
+ # @con.expects(:receive_message).with do |o, m, l, s, c, r|
92
+ # tags = {:dc => "ny"}
93
+ # end.returns([[], 0, 0])
94
+
95
+ assert_raise MongoArgumentError do
96
+ @col.find_one({:a => 1}, :read => {:dc => "ny"})
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
metadata CHANGED
@@ -1,175 +1,251 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 7
5
+ prerelease:
5
6
  segments:
6
- - 1
7
- - 3
8
- - 1
9
- version: 1.3.1
7
+ - 1
8
+ - 4
9
+ - 0
10
+ version: 1.4.0
10
11
  platform: ruby
11
12
  authors:
12
- - Jim Menard
13
- - Mike Dirolf
14
- - Kyle Banker
13
+ - Jim Menard
14
+ - Mike Dirolf
15
+ - Kyle Banker
15
16
  autorequire:
16
17
  bindir: bin
17
18
  cert_chain: []
18
19
 
19
- date: 2011-05-11 00:00:00 -04:00
20
+ date: 2011-09-20 00:00:00 -04:00
20
21
  default_executable:
21
22
  dependencies:
22
- - !ruby/object:Gem::Dependency
23
- name: bson
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- segments:
30
- - 1
31
- - 3
32
- - 1
33
- version: 1.3.1
34
- type: :runtime
35
- version_requirements: *id001
23
+ - !ruby/object:Gem::Dependency
24
+ name: bson
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - "="
30
+ - !ruby/object:Gem::Version
31
+ hash: 7
32
+ segments:
33
+ - 1
34
+ - 4
35
+ - 0
36
+ version: 1.4.0
37
+ type: :runtime
38
+ version_requirements: *id001
36
39
  description: A Ruby driver for MongoDB. For more information about Mongo, see http://www.mongodb.org.
37
40
  email: mongodb-dev@googlegroups.com
38
41
  executables:
39
- - mongo_console
42
+ - mongo_console
40
43
  extensions: []
41
44
 
42
45
  extra_rdoc_files:
43
- - README.md
46
+ - README.md
44
47
  files:
45
- - README.md
46
- - Rakefile
47
- - mongo.gemspec
48
- - LICENSE.txt
49
- - lib/mongo.rb
50
- - lib/mongo/cursor.rb
51
- - lib/mongo/collection.rb
52
- - lib/mongo/exceptions.rb
53
- - lib/mongo/connection.rb
54
- - lib/mongo/repl_set_connection.rb
55
- - lib/mongo/test.rb
56
- - lib/mongo/db.rb
57
- - lib/mongo/gridfs/grid_io.rb
58
- - lib/mongo/gridfs/grid_file_system.rb
59
- - lib/mongo/gridfs/grid.rb
60
- - lib/mongo/gridfs/grid_ext.rb
61
- - lib/mongo/gridfs/grid_io_fix.rb
62
- - lib/mongo/util/conversions.rb
63
- - lib/mongo/util/support.rb
64
- - lib/mongo/util/pool.rb
65
- - lib/mongo/util/core_ext.rb
66
- - lib/mongo/util/server_version.rb
67
- - lib/mongo/util/uri_parser.rb
68
- - docs/HISTORY.md
69
- - docs/TUTORIAL.md
70
- - docs/CREDITS.md
71
- - docs/FAQ.md
72
- - docs/REPLICA_SETS.md
73
- - docs/RELEASES.md
74
- - docs/GridFS.md
75
- - docs/WRITE_CONCERN.md
76
- - bin/mongo_console
48
+ - README.md
49
+ - Rakefile
50
+ - mongo.gemspec
51
+ - LICENSE.txt
52
+ - lib/mongo.rb
53
+ - lib/mongo/collection.rb
54
+ - lib/mongo/connection.rb
55
+ - lib/mongo/cursor.rb
56
+ - lib/mongo/db.rb
57
+ - lib/mongo/exceptions.rb
58
+ - lib/mongo/gridfs/grid.rb
59
+ - lib/mongo/gridfs/grid_ext.rb
60
+ - lib/mongo/gridfs/grid_file_system.rb
61
+ - lib/mongo/gridfs/grid_io.rb
62
+ - lib/mongo/gridfs/grid_io_fix.rb
63
+ - lib/mongo/repl_set_connection.rb
64
+ - lib/mongo/util/conversions.rb
65
+ - lib/mongo/util/core_ext.rb
66
+ - lib/mongo/util/logging.rb
67
+ - lib/mongo/util/node.rb
68
+ - lib/mongo/util/pool.rb
69
+ - lib/mongo/util/pool_manager.rb
70
+ - lib/mongo/util/server_version.rb
71
+ - lib/mongo/util/ssl_socket.rb
72
+ - lib/mongo/util/support.rb
73
+ - lib/mongo/util/timeout.rb
74
+ - lib/mongo/util/uri_parser.rb
75
+ - lib/mongo/version.rb
76
+ - docs/CREDITS.md
77
+ - docs/FAQ.md
78
+ - docs/GridFS.md
79
+ - docs/HISTORY.md
80
+ - docs/READ_PREFERENCE.md
81
+ - docs/RELEASES.md
82
+ - docs/REPLICA_SETS.md
83
+ - docs/TAILABLE_CURSORS.md
84
+ - docs/TUTORIAL.md
85
+ - docs/WRITE_CONCERN.md
86
+ - bin/mongo_console
87
+ - test/auxillary/1.4_features.rb
88
+ - test/auxillary/authentication_test.rb
89
+ - test/auxillary/autoreconnect_test.rb
90
+ - test/auxillary/fork_test.rb
91
+ - test/auxillary/repl_set_auth_test.rb
92
+ - test/auxillary/slave_connection_test.rb
93
+ - test/auxillary/threaded_authentication_test.rb
94
+ - test/bson/binary_test.rb
95
+ - test/bson/bson_string_test.rb
96
+ - test/bson/bson_test.rb
97
+ - test/bson/byte_buffer_test.rb
98
+ - test/bson/hash_with_indifferent_access_test.rb
99
+ - test/bson/json_test.rb
100
+ - test/bson/object_id_test.rb
101
+ - test/bson/ordered_hash_test.rb
102
+ - test/bson/test_helper.rb
103
+ - test/bson/timestamp_test.rb
104
+ - test/collection_test.rb
105
+ - test/connection_test.rb
106
+ - test/conversions_test.rb
107
+ - test/cursor_fail_test.rb
108
+ - test/cursor_message_test.rb
109
+ - test/cursor_test.rb
110
+ - test/db_api_test.rb
111
+ - test/db_connection_test.rb
112
+ - test/db_test.rb
113
+ - test/grid_file_system_test.rb
114
+ - test/grid_io_test.rb
115
+ - test/grid_test.rb
116
+ - test/load/thin/load.rb
117
+ - test/load/unicorn/load.rb
118
+ - test/pool_test.rb
119
+ - test/replica_sets/connect_test.rb
120
+ - test/replica_sets/connection_string_test.rb
121
+ - test/replica_sets/count_test.rb
122
+ - test/replica_sets/insert_test.rb
123
+ - test/replica_sets/pooled_insert_test.rb
124
+ - test/replica_sets/query_secondaries.rb
125
+ - test/replica_sets/query_test.rb
126
+ - test/replica_sets/read_preference_test.rb
127
+ - test/replica_sets/refresh_test.rb
128
+ - test/replica_sets/replication_ack_test.rb
129
+ - test/replica_sets/rs_test_helper.rb
130
+ - test/safe_test.rb
131
+ - test/support/hash_with_indifferent_access.rb
132
+ - test/support/keys.rb
133
+ - test/support_test.rb
134
+ - test/test_helper.rb
135
+ - test/threading/threading_with_large_pool_test.rb
136
+ - test/threading_test.rb
137
+ - test/timeout_test.rb
138
+ - test/tools/auth_repl_set_manager.rb
139
+ - test/tools/repl_set_manager.rb
140
+ - test/unit/collection_test.rb
141
+ - test/unit/connection_test.rb
142
+ - test/unit/cursor_test.rb
143
+ - test/unit/db_test.rb
144
+ - test/unit/grid_test.rb
145
+ - test/unit/node_test.rb
146
+ - test/unit/pool_manager_test.rb
147
+ - test/unit/pool_test.rb
148
+ - test/unit/read_test.rb
149
+ - test/unit/safe_test.rb
150
+ - test/uri_test.rb
77
151
  has_rdoc: true
78
152
  homepage: http://www.mongodb.org
79
153
  licenses: []
80
154
 
81
155
  post_install_message:
82
156
  rdoc_options:
83
- - --main
84
- - README.md
85
- - --inline-source
157
+ - --main
158
+ - README.md
159
+ - --inline-source
86
160
  require_paths:
87
- - lib
161
+ - lib
88
162
  required_ruby_version: !ruby/object:Gem::Requirement
163
+ none: false
89
164
  requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- segments:
93
- - 0
94
- version: "0"
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ hash: 3
168
+ segments:
169
+ - 0
170
+ version: "0"
95
171
  required_rubygems_version: !ruby/object:Gem::Requirement
172
+ none: false
96
173
  requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- segments:
100
- - 0
101
- version: "0"
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ hash: 3
177
+ segments:
178
+ - 0
179
+ version: "0"
102
180
  requirements: []
103
181
 
104
182
  rubyforge_project:
105
- rubygems_version: 1.3.6
183
+ rubygems_version: 1.5.2
106
184
  signing_key:
107
185
  specification_version: 3
108
186
  summary: Ruby driver for the MongoDB
109
187
  test_files:
110
- - test/grid_file_system_test.rb
111
- - test/db_test.rb
112
- - test/collection_test.rb
113
- - test/cursor_test.rb
114
- - test/grid_test.rb
115
- - test/db_api_test.rb
116
- - test/conversions_test.rb
117
- - test/connection_test.rb
118
- - test/uri_test.rb
119
- - test/cursor_message_test.rb
120
- - test/cursor_fail_test.rb
121
- - test/test_helper.rb
122
- - test/grid_io_test.rb
123
- - test/db_connection_test.rb
124
- - test/safe_test.rb
125
- - test/support_test.rb
126
- - test/threading_test.rb
127
- - test/unit/db_test.rb
128
- - test/unit/repl_set_connection_test.rb
129
- - test/unit/collection_test.rb
130
- - test/unit/cursor_test.rb
131
- - test/unit/grid_test.rb
132
- - test/unit/connection_test.rb
133
- - test/unit/pool_test.rb
134
- - test/unit/safe_test.rb
135
- - test/async/collection_test.rb
136
- - test/async/cursor_test.rb
137
- - test/async/connection_test.rb
138
- - test/async/worker_pool_test.rb
139
- - test/load/unicorn/unicorn.rb
140
- - test/load/unicorn/load.rb
141
- - test/load/resque/processor.rb
142
- - test/load/resque/load.rb
143
- - test/load/thin/load.rb
144
- - test/auxillary/slave_connection_test.rb
145
- - test/auxillary/threaded_authentication_test.rb
146
- - test/auxillary/authentication_test.rb
147
- - test/auxillary/fork_test.rb
148
- - test/auxillary/autoreconnect_test.rb
149
- - test/auxillary/repl_set_auth_test.rb
150
- - test/auxillary/1.4_features.rb
151
- - test/tools/test.rb
152
- - test/tools/repl_set_manager.rb
153
- - test/tools/auth_repl_set_manager.rb
154
- - test/tools/load.rb
155
- - test/tools/sharding_manager.rb
156
- - test/threading/threading_with_large_pool_test.rb
157
- - test/bson/byte_buffer_test.rb
158
- - test/bson/binary_test.rb
159
- - test/bson/object_id_test.rb
160
- - test/bson/json_test.rb
161
- - test/bson/timestamp_test.rb
162
- - test/bson/bson_test.rb
163
- - test/bson/ordered_hash_test.rb
164
- - test/bson/hash_with_indifferent_access_test.rb
165
- - test/support/keys.rb
166
- - test/support/hash_with_indifferent_access.rb
167
- - test/replica_sets/rs_test_helper.rb
168
- - test/replica_sets/pooled_insert_test.rb
169
- - test/replica_sets/count_test.rb
170
- - test/replica_sets/replication_ack_test.rb
171
- - test/replica_sets/query_secondaries.rb
172
- - test/replica_sets/query_test.rb
173
- - test/replica_sets/connection_string_test.rb
174
- - test/replica_sets/insert_test.rb
175
- - test/replica_sets/connect_test.rb
188
+ - test/auxillary/1.4_features.rb
189
+ - test/auxillary/authentication_test.rb
190
+ - test/auxillary/autoreconnect_test.rb
191
+ - test/auxillary/fork_test.rb
192
+ - test/auxillary/repl_set_auth_test.rb
193
+ - test/auxillary/slave_connection_test.rb
194
+ - test/auxillary/threaded_authentication_test.rb
195
+ - test/bson/binary_test.rb
196
+ - test/bson/bson_string_test.rb
197
+ - test/bson/bson_test.rb
198
+ - test/bson/byte_buffer_test.rb
199
+ - test/bson/hash_with_indifferent_access_test.rb
200
+ - test/bson/json_test.rb
201
+ - test/bson/object_id_test.rb
202
+ - test/bson/ordered_hash_test.rb
203
+ - test/bson/test_helper.rb
204
+ - test/bson/timestamp_test.rb
205
+ - test/collection_test.rb
206
+ - test/connection_test.rb
207
+ - test/conversions_test.rb
208
+ - test/cursor_fail_test.rb
209
+ - test/cursor_message_test.rb
210
+ - test/cursor_test.rb
211
+ - test/db_api_test.rb
212
+ - test/db_connection_test.rb
213
+ - test/db_test.rb
214
+ - test/grid_file_system_test.rb
215
+ - test/grid_io_test.rb
216
+ - test/grid_test.rb
217
+ - test/load/thin/load.rb
218
+ - test/load/unicorn/load.rb
219
+ - test/pool_test.rb
220
+ - test/replica_sets/connect_test.rb
221
+ - test/replica_sets/connection_string_test.rb
222
+ - test/replica_sets/count_test.rb
223
+ - test/replica_sets/insert_test.rb
224
+ - test/replica_sets/pooled_insert_test.rb
225
+ - test/replica_sets/query_secondaries.rb
226
+ - test/replica_sets/query_test.rb
227
+ - test/replica_sets/read_preference_test.rb
228
+ - test/replica_sets/refresh_test.rb
229
+ - test/replica_sets/replication_ack_test.rb
230
+ - test/replica_sets/rs_test_helper.rb
231
+ - test/safe_test.rb
232
+ - test/support/hash_with_indifferent_access.rb
233
+ - test/support/keys.rb
234
+ - test/support_test.rb
235
+ - test/test_helper.rb
236
+ - test/threading/threading_with_large_pool_test.rb
237
+ - test/threading_test.rb
238
+ - test/timeout_test.rb
239
+ - test/tools/auth_repl_set_manager.rb
240
+ - test/tools/repl_set_manager.rb
241
+ - test/unit/collection_test.rb
242
+ - test/unit/connection_test.rb
243
+ - test/unit/cursor_test.rb
244
+ - test/unit/db_test.rb
245
+ - test/unit/grid_test.rb
246
+ - test/unit/node_test.rb
247
+ - test/unit/pool_manager_test.rb
248
+ - test/unit/pool_test.rb
249
+ - test/unit/read_test.rb
250
+ - test/unit/safe_test.rb
251
+ - test/uri_test.rb