mongo 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY +164 -0
- data/README.rdoc +9 -0
- data/Rakefile +3 -3
- data/lib/mongo.rb +1 -1
- data/lib/mongo/collection.rb +5 -3
- data/lib/mongo/connection.rb +6 -5
- data/{mongo-ruby-driver.gemspec → mongo.gemspec} +2 -1
- data/test/collection_test.rb +24 -0
- data/test/connection_test.rb +6 -0
- data/test/unit/connection_test.rb +7 -0
- metadata +97 -85
data/HISTORY
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
1.0.3 2010-6-15
|
2
|
+
|
3
|
+
* Optimiztion for BSON::OrderedHash
|
4
|
+
* Some important fixes.
|
5
|
+
|
6
|
+
1.0.2 2010-6-5
|
7
|
+
This is a minor release for fixing an incompatibility with MongoDB v1.5.2
|
8
|
+
|
9
|
+
* Fix for boolean response on commands for core server v1.5.2
|
10
|
+
* BSON.read_bson_document and b2json executable (neomantra)
|
11
|
+
* BSON::ObjectID() shortcut for BSON::ObjectID.from_string (tmm1)
|
12
|
+
* Various bug fixes.
|
13
|
+
|
14
|
+
1.0.1 2010-5-7
|
15
|
+
|
16
|
+
* set Encoding.default_internal
|
17
|
+
* DEPRECATE JavaScript string on Collection#find. You now must specify $where explicitly.
|
18
|
+
* Added Grid#exist? and GridFileSystem#exist?
|
19
|
+
* Support for replication acknowledgment
|
20
|
+
* Support for $slice
|
21
|
+
* Namespaced OrderedHash under BSON (sleverbor)
|
22
|
+
|
23
|
+
1.0 2010-4-29
|
24
|
+
Note: if upgrading from versions prior to 0.20, be sure to upgrade
|
25
|
+
to 0.20 before upgrading to 1.0.
|
26
|
+
|
27
|
+
* Inspected ObjectID is represented in MongoDB extended json format.
|
28
|
+
* Support for tailable cursors.
|
29
|
+
* Configurable query response batch size (thx. to Aman Gupta)
|
30
|
+
|
31
|
+
* bson_ext installs on early release of Ruby 1.8.5 (dfitzgibbon)
|
32
|
+
* Deprecated DB#create_index. Use Collection#create_index index.
|
33
|
+
* Removed deprecated Grid#put syntax; no longer requires a filename.
|
34
|
+
|
35
|
+
0.20.1 2010-4-7
|
36
|
+
* Added bson gem dependency.
|
37
|
+
|
38
|
+
0.20 2010-4-7
|
39
|
+
If upgrading from a previous version of the Ruby driver, please read these notes carefully,
|
40
|
+
along with the 0.20_UPGRADE doc.
|
41
|
+
|
42
|
+
* Support for new commands:
|
43
|
+
* Collection#find_and_modify
|
44
|
+
* Collection#stats
|
45
|
+
* DB#stats
|
46
|
+
* Query :fields options allows for values of 0 to exclude fields (houdini, railsjedi).
|
47
|
+
* GridFS
|
48
|
+
* Option to delete old versions of GridFileSystem entries.
|
49
|
+
* Filename is now optional for Grid#put.
|
50
|
+
* Option to write arbitrary attributes to a file: @grid.put(@data, :favorite_phrase => "blimey!")
|
51
|
+
* Indexes created on the chunks collection are now unique. If you have an existing chunks collection,
|
52
|
+
you may want to remove
|
53
|
+
* Removed the following deprecated items:
|
54
|
+
* GridStore class
|
55
|
+
* RegexpOfHolding class
|
56
|
+
* Paired connections must now be initialized with Connection.paired
|
57
|
+
|
58
|
+
* BSON-related code extracted into two separate gems: bson and bson_ext (thx to Chuck Remes).
|
59
|
+
* mongo_ext no longer exists.
|
60
|
+
* BSON::Binary constructor can now take a string, which will be packed into an array.
|
61
|
+
* Exception class adjustments:
|
62
|
+
* Mongo::InvalidObjectID moved to BSON::InvalidObjectID
|
63
|
+
* Mongo::InvalidDocument moved to BSON::InvalidDocument
|
64
|
+
* Mongo::InvalidStringEncoding moved to BSON::InvalidStringEncoding
|
65
|
+
* Mongo::InvalidName replaced by Mongo::InvalidNSName and BSON::InvalidKeyName
|
66
|
+
* BSON types are now namespaced under the BSON module. These types include:
|
67
|
+
* Binary
|
68
|
+
* ObjectID
|
69
|
+
* Code
|
70
|
+
* DBRef
|
71
|
+
* MinKey and MaxKey
|
72
|
+
* Extensions compile on Rubinius (Chuck Remes).
|
73
|
+
|
74
|
+
0.19.3 2010-4-5
|
75
|
+
* Minor fix for assert_valid_keys.
|
76
|
+
|
77
|
+
0.19.2 2010-4-5
|
78
|
+
This release fixes a major bug and is the final release
|
79
|
+
in the 0.19 series. The next release, 0.20.0, will introduce
|
80
|
+
separate gems for bson and bson_ext and may require small
|
81
|
+
changes to existing code bases. Expect that release in the next
|
82
|
+
few days.
|
83
|
+
* Fix for Grid#delete bug.
|
84
|
+
* Log messages read like valid ruby driver code.
|
85
|
+
* Cursor#has_next.
|
86
|
+
* Tests for MongoDB 1.4 features.
|
87
|
+
* Flexible index creation method with Mongo::GEO2D constant.
|
88
|
+
|
89
|
+
0.19.1 2010-3-2
|
90
|
+
* Fix for HashWithIndifferentAccess in ActiveSupport-3.0
|
91
|
+
|
92
|
+
0.19 2010-3-1
|
93
|
+
* Deprecated GridFS::GridStore. Grid and GridFileSystem classes replace
|
94
|
+
the GridFS implementation with a simpler API and vastly-improved performance.
|
95
|
+
See http://www.mongodb.org/display/DOCS/GridFS+in+Ruby for more details.
|
96
|
+
* Safe mode for Grid and GridFileSystem.
|
97
|
+
* Grid and GridFileSystem use Mime/Types to detect content type (if available)
|
98
|
+
* Connection API simplified. Use Connection.paired for pairs and Connection.from_uri to
|
99
|
+
use MongoDB's connection URI specification.
|
100
|
+
* Authentication can be saved so that reauthentication happens automatically
|
101
|
+
on reconnect.
|
102
|
+
* Raise exception if authentication fails.
|
103
|
+
* Raise exception if index creation fails.
|
104
|
+
* Removed a number of deprecated methods and classes.
|
105
|
+
* Several bug fixes.
|
106
|
+
* Nearing 1.0!
|
107
|
+
|
108
|
+
0.18.3 2010-1-25
|
109
|
+
* Convert docs to YARD
|
110
|
+
* Support MongoDB extended JSON on ObjectID#to_json
|
111
|
+
* ObjectID#from_time for performing date range queries on _id (thx., Sunny Hirai)
|
112
|
+
* GridStore#mv for renaming files (Matt Powell)
|
113
|
+
* Safe mode for Collection#remove (Patrick Collison)
|
114
|
+
* Support BSON types MinKey and MaxKey
|
115
|
+
* DEPRECATED Admin, XMLToRuby, and RegexpOfHolding classes.
|
116
|
+
* Handle unsupported Numeric types gracefully (Complex, Rational, BigDecimal)
|
117
|
+
* Handle unsupported Time types gracefully (Date, DateTime, ActiveSupport::TimeWithZone)
|
118
|
+
* Numerous small bug fixes
|
119
|
+
* Minor performance improvements
|
120
|
+
|
121
|
+
0.18.2 2009-12-29
|
122
|
+
* Significant GridStore performance improvement (thx., Sunny Hirai)
|
123
|
+
* Enabled support for keyf on group
|
124
|
+
* Support :query option for Collection#distinct
|
125
|
+
* Support :finalize option for Collection#group
|
126
|
+
* (0.18.1) ObjectID#generation_time returns a created_at timestamp.
|
127
|
+
* Deprecated Command#group running as a JS eval; should now be run as a command.
|
128
|
+
* Deprecated Cursor#next_object for Cursor#next_document
|
129
|
+
* Character encoding fixes for C extension
|
130
|
+
* Enforce 4MB limit on document creation
|
131
|
+
* Simplified connection pooling code
|
132
|
+
* Fixes for connection pooling on Ruby 1.8.6/Windows.
|
133
|
+
|
134
|
+
0.18.1 2009-12-05
|
135
|
+
* Fixed issue with negative dates in Ruby 1.9
|
136
|
+
* Minor refactorings for C extension and BSON classes
|
137
|
+
* Ensure UTF-8 in Ruby 1.8
|
138
|
+
* Fix for connections on non-default port (Delano Mandelbaum)
|
139
|
+
* More explicit test suite tasks for running with/without C extension.
|
140
|
+
|
141
|
+
0.18 2009-11-25
|
142
|
+
* Connections now support connection pooling. See http://api.mongodb.org/ruby/0.18/classes/Mongo/Connection.html#M000158
|
143
|
+
* Deprecated :auto_reconnect option on connection; if the driver fails to
|
144
|
+
connect, it will automatically try to reconnect on the subsequent operation.
|
145
|
+
See http://www.mongodb.org/display/DOCS/Replica+Pairs+in+Ruby
|
146
|
+
* Added Collection#map_reduce helper (Christos Trochalakis)
|
147
|
+
* Deprecated DB#db_command in favor of DB#command.
|
148
|
+
* Removed deprecated old sort options, :offset, and Connection#clear.
|
149
|
+
* Lots of internal code restructuring for better maintainability.
|
150
|
+
|
151
|
+
0.17.1 2009-11-17
|
152
|
+
* Index ordering fix
|
153
|
+
* Notice to install mongo_ext
|
154
|
+
|
155
|
+
0.17 2009-11-16
|
156
|
+
* Performance improvements
|
157
|
+
* large document inserts twice as fast as 0.16
|
158
|
+
* queries 18% faster than 0.16 on average
|
159
|
+
* see benchmark comparison: http://gist.github.com/236062
|
160
|
+
* Support for multi-update for Mongo >= 1.1.3 (See Collection#update)
|
161
|
+
* Collection#distinct
|
162
|
+
* Connection#copy_database (voodootikigod)
|
163
|
+
* C optimizations for ByteBuffer#to_s and ObjectID#generate (seancribbs)
|
164
|
+
* Continue code restructuring for performance and simplicity.
|
data/README.rdoc
CHANGED
@@ -21,6 +21,15 @@ Here's a quick code sample. See the MongoDB Ruby Tutorial
|
|
21
21
|
|
22
22
|
= Installation
|
23
23
|
|
24
|
+
=== Ruby Versions
|
25
|
+
|
26
|
+
The driver works and is consistently tested on Ruby 1.8.6, 1.8.7, and 1.9.1.
|
27
|
+
|
28
|
+
Note that if you're on 1.8.7, be sure that you're using a patchlevel >= 249. There
|
29
|
+
are some IO bugs in earlier versions.
|
30
|
+
|
31
|
+
=== Gems
|
32
|
+
|
24
33
|
The driver's gems are hosted at Rubygems.org[http://rubygems.org]. Make sure you're
|
25
34
|
using the latest version of rubygems:
|
26
35
|
|
data/Rakefile
CHANGED
@@ -110,7 +110,7 @@ end
|
|
110
110
|
|
111
111
|
desc "Generate documentation"
|
112
112
|
task :rdoc do
|
113
|
-
version = eval(File.read("mongo
|
113
|
+
version = eval(File.read("mongo.gemspec")).version
|
114
114
|
out = File.join('html', version.to_s)
|
115
115
|
FileUtils.rm_rf('html')
|
116
116
|
system "rdoc --main README.rdoc --op #{out} --inline-source --quiet README.rdoc `find lib -name '*.rb'`"
|
@@ -121,7 +121,7 @@ task :ydoc do
|
|
121
121
|
require File.join(File.dirname(__FILE__), 'lib', 'mongo')
|
122
122
|
out = File.join('ydoc', Mongo::VERSION)
|
123
123
|
FileUtils.rm_rf('ydoc')
|
124
|
-
system "yardoc lib/**/*.rb lib/mongo/**/*.rb -e docs/yard_ext.rb -p docs/templates -o #{out} --title MongoRuby-#{Mongo::VERSION}"
|
124
|
+
system "yardoc lib/**/*.rb lib/mongo/**/*.rb lib/bson/**/*.rb -e docs/yard_ext.rb -p docs/templates -o #{out} --title MongoRuby-#{Mongo::VERSION}"
|
125
125
|
end
|
126
126
|
|
127
127
|
desc "Publish documentation to mongo.rubyforge.org"
|
@@ -136,7 +136,7 @@ namespace :gem do
|
|
136
136
|
task :install do
|
137
137
|
sh "gem build bson.gemspec"
|
138
138
|
sh "gem install bson-*.gem"
|
139
|
-
sh "gem build mongo
|
139
|
+
sh "gem build mongo.gemspec"
|
140
140
|
sh "gem install mongo-*.gem"
|
141
141
|
sh "rm mongo-*.gem"
|
142
142
|
sh "rm bson-*.gem"
|
data/lib/mongo.rb
CHANGED
data/lib/mongo/collection.rb
CHANGED
@@ -374,7 +374,7 @@ module Mongo
|
|
374
374
|
#
|
375
375
|
# @core indexes create_index-instance_method
|
376
376
|
def create_index(spec, opts={})
|
377
|
-
opts.assert_valid_keys(:min, :max, :background, :unique, :dropDups)
|
377
|
+
opts.assert_valid_keys(:min, :max, :name, :background, :unique, :dropDups)
|
378
378
|
field_spec = BSON::OrderedHash.new
|
379
379
|
if spec.is_a?(String) || spec.is_a?(Symbol)
|
380
380
|
field_spec[spec.to_s] = 1
|
@@ -392,7 +392,7 @@ module Mongo
|
|
392
392
|
"should be either a string, symbol, or an array of arrays."
|
393
393
|
end
|
394
394
|
|
395
|
-
name = generate_index_name(field_spec)
|
395
|
+
name = opts.delete(:name) || generate_index_name(field_spec)
|
396
396
|
|
397
397
|
selector = {
|
398
398
|
:name => name,
|
@@ -434,8 +434,8 @@ module Mongo
|
|
434
434
|
|
435
435
|
# Atomically update and return a document using MongoDB's findAndModify command. (MongoDB > 1.3.0)
|
436
436
|
#
|
437
|
-
# @option opts [Hash] :update (nil) the update operation to perform on the matched document.
|
438
437
|
# @option opts [Hash] :query ({}) a query selector document for matching the desired document.
|
438
|
+
# @option opts [Hash] :update (nil) the update operation to perform on the matched document.
|
439
439
|
# @option opts [Array, String, OrderedHash] :sort ({}) specify a sort option for the query using any
|
440
440
|
# of the sort options available for Cursor#sort. Sort order is important if the query will be matching
|
441
441
|
# multiple documents since only the first matching document will be updated and returned.
|
@@ -670,6 +670,8 @@ module Mongo
|
|
670
670
|
message = BSON::ByteBuffer.new([0, 0, 0, 0])
|
671
671
|
BSON::BSON_RUBY.serialize_cstr(message, "#{@db.name}.#{collection_name}")
|
672
672
|
documents.each { |doc| message.put_array(BSON::BSON_CODER.serialize(doc, check_keys, true).to_a) }
|
673
|
+
raise InvalidOperation, "Exceded maximum insert size of 16,000,000 bytes" if message.size > 16_000_000
|
674
|
+
|
673
675
|
if safe
|
674
676
|
@connection.send_message_with_safe_check(Mongo::Constants::OP_INSERT, message, @db.name,
|
675
677
|
"#{@db.name}['#{collection_name}'].insert(#{documents.inspect})", safe)
|
data/lib/mongo/connection.rb
CHANGED
@@ -32,7 +32,7 @@ module Mongo
|
|
32
32
|
STANDARD_HEADER_SIZE = 16
|
33
33
|
RESPONSE_HEADER_SIZE = 20
|
34
34
|
|
35
|
-
MONGODB_URI_MATCHER = /(([.\w\d]+):([\w\d]+)@)?([
|
35
|
+
MONGODB_URI_MATCHER = /(([.\w\d]+):([\w\d]+)@)?([-.\w\d]+)(:([\w\d]+))?(\/([-\d\w]+))?/
|
36
36
|
MONGODB_URI_SPEC = "mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/database]"
|
37
37
|
|
38
38
|
attr_reader :logger, :size, :host, :port, :nodes, :auths, :sockets, :checked_out
|
@@ -437,9 +437,10 @@ module Mongo
|
|
437
437
|
|
438
438
|
break if is_master || @slave_ok
|
439
439
|
rescue SocketError, SystemCallError, IOError => ex
|
440
|
-
socket.close if socket
|
441
440
|
close
|
442
441
|
false
|
442
|
+
ensure
|
443
|
+
socket.close if socket
|
443
444
|
end
|
444
445
|
end
|
445
446
|
raise ConnectionFailure, "failed to connect to any given host:port" unless socket
|
@@ -522,11 +523,11 @@ module Mongo
|
|
522
523
|
port = port.to_i
|
523
524
|
db = matches[8]
|
524
525
|
|
525
|
-
if
|
526
|
+
if uname && pwd && db
|
527
|
+
add_auth(db, uname, pwd)
|
528
|
+
elsif uname || pwd || db
|
526
529
|
raise MongoArgumentError, "MongoDB URI must include all three of username, password, " +
|
527
530
|
"and db if any one of these is specified."
|
528
|
-
else
|
529
|
-
add_auth(db, uname, pwd)
|
530
531
|
end
|
531
532
|
|
532
533
|
nodes << [host, port]
|
@@ -11,7 +11,8 @@ Gem::Specification.new do |s|
|
|
11
11
|
|
12
12
|
s.require_paths = ['lib']
|
13
13
|
|
14
|
-
s.files = ['README.rdoc', '
|
14
|
+
s.files = ['README.rdoc', 'HISTORY', 'Rakefile',
|
15
|
+
'mongo.gemspec', 'LICENSE.txt']
|
15
16
|
s.files += ['lib/mongo.rb'] + Dir['lib/mongo/**/*.rb']
|
16
17
|
s.files += Dir['examples/**/*.rb'] + Dir['bin/**/*.rb']
|
17
18
|
s.test_files = Dir['test/**/*.rb']
|
data/test/collection_test.rb
CHANGED
@@ -115,6 +115,17 @@ class TestCollection < Test::Unit::TestCase
|
|
115
115
|
end
|
116
116
|
end
|
117
117
|
|
118
|
+
def test_maximum_insert_size
|
119
|
+
docs = []
|
120
|
+
16.times do
|
121
|
+
docs << {'foo' => 'a' * 1_000_000}
|
122
|
+
end
|
123
|
+
|
124
|
+
assert_raise InvalidOperation do
|
125
|
+
@@test.insert(docs)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
118
129
|
if @@version >= "1.5.1"
|
119
130
|
def test_safe_mode_with_advanced_safe_with_invalid_options
|
120
131
|
assert_raise_error ArgumentError, "Unknown key(s): wtime" do
|
@@ -626,6 +637,19 @@ class TestCollection < Test::Unit::TestCase
|
|
626
637
|
end
|
627
638
|
end
|
628
639
|
|
640
|
+
should "raise an error if index name is greater than 128" do
|
641
|
+
assert_raise Mongo::OperationFailure do
|
642
|
+
@collection.create_index([['a' * 25, 1], ['b' * 25, 1],
|
643
|
+
['c' * 25, 1], ['d' * 25, 1], ['e' * 25, 1]])
|
644
|
+
end
|
645
|
+
end
|
646
|
+
|
647
|
+
should "allow for an alternate name to be specified" do
|
648
|
+
@collection.create_index([['a' * 25, 1], ['b' * 25, 1],
|
649
|
+
['c' * 25, 1], ['d' * 25, 1], ['e' * 25, 1]], :name => 'foo_index')
|
650
|
+
assert @collection.index_information['foo_index']
|
651
|
+
end
|
652
|
+
|
629
653
|
should "generate indexes in the proper order" do
|
630
654
|
@collection.expects(:insert_documents) do |sel, coll, safe|
|
631
655
|
assert_equal 'b_1_a_1', sel[:name]
|
data/test/connection_test.rb
CHANGED
@@ -24,6 +24,12 @@ class TestConnection < Test::Unit::TestCase
|
|
24
24
|
assert Mongo::Support.ok?(server_info)
|
25
25
|
end
|
26
26
|
|
27
|
+
def test_connection_uri
|
28
|
+
con = Connection.from_uri("mongodb://localhost:27017")
|
29
|
+
assert_equal "localhost", con.host
|
30
|
+
assert_equal 27017, con.port
|
31
|
+
end
|
32
|
+
|
27
33
|
def test_server_version
|
28
34
|
assert_match /\d\.\d+(\.\d+)?/, @mongo.server_version.to_s
|
29
35
|
end
|
@@ -7,6 +7,7 @@ class ConnectionTest < Test::Unit::TestCase
|
|
7
7
|
def new_mock_socket
|
8
8
|
socket = Object.new
|
9
9
|
socket.stubs(:setsockopt).with(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
|
10
|
+
socket.expects(:close)
|
10
11
|
socket
|
11
12
|
end
|
12
13
|
|
@@ -65,6 +66,12 @@ class ConnectionTest < Test::Unit::TestCase
|
|
65
66
|
assert_equal ['localhost', 27017], @conn.nodes[0]
|
66
67
|
end
|
67
68
|
|
69
|
+
should "allow a complex host names" do
|
70
|
+
host_name = "foo.bar-12345.org"
|
71
|
+
@conn = Connection.from_uri("mongodb://#{host_name}", :connect => false)
|
72
|
+
assert_equal [host_name, 27017], @conn.nodes[0]
|
73
|
+
end
|
74
|
+
|
68
75
|
should "parse a uri specifying multiple nodes" do
|
69
76
|
@conn = Connection.from_uri("mongodb://localhost:27017,mydb.com:27018", :connect => false)
|
70
77
|
assert_equal ['localhost', 27017], @conn.nodes[0]
|
metadata
CHANGED
@@ -1,29 +1,38 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
version: 1.0.3
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
|
-
|
8
|
-
|
9
|
-
|
12
|
+
- Jim Menard
|
13
|
+
- Mike Dirolf
|
14
|
+
- Kyle Banker
|
10
15
|
autorequire:
|
11
16
|
bindir: bin
|
12
17
|
cert_chain: []
|
13
18
|
|
14
|
-
date: 2010-06-
|
19
|
+
date: 2010-06-15 00:00:00 -04:00
|
15
20
|
default_executable:
|
16
21
|
dependencies:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
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
|
+
- 0
|
32
|
+
- 3
|
33
|
+
version: 1.0.3
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
27
36
|
description: A Ruby driver for MongoDB. For more information about Mongo, see http://www.mongodb.org.
|
28
37
|
email: mongodb-dev@googlegroups.com
|
29
38
|
executables: []
|
@@ -31,92 +40,95 @@ executables: []
|
|
31
40
|
extensions: []
|
32
41
|
|
33
42
|
extra_rdoc_files:
|
34
|
-
|
43
|
+
- README.rdoc
|
35
44
|
files:
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
45
|
+
- README.rdoc
|
46
|
+
- HISTORY
|
47
|
+
- Rakefile
|
48
|
+
- mongo.gemspec
|
49
|
+
- LICENSE.txt
|
50
|
+
- lib/mongo.rb
|
51
|
+
- lib/mongo/collection.rb
|
52
|
+
- lib/mongo/connection.rb
|
53
|
+
- lib/mongo/cursor.rb
|
54
|
+
- lib/mongo/db.rb
|
55
|
+
- lib/mongo/exceptions.rb
|
56
|
+
- lib/mongo/gridfs/grid.rb
|
57
|
+
- lib/mongo/gridfs/grid_ext.rb
|
58
|
+
- lib/mongo/gridfs/grid_file_system.rb
|
59
|
+
- lib/mongo/gridfs/grid_io.rb
|
60
|
+
- lib/mongo/util/conversions.rb
|
61
|
+
- lib/mongo/util/core_ext.rb
|
62
|
+
- lib/mongo/util/server_version.rb
|
63
|
+
- lib/mongo/util/support.rb
|
64
|
+
- examples/admin.rb
|
65
|
+
- examples/capped.rb
|
66
|
+
- examples/cursor.rb
|
67
|
+
- examples/gridfs.rb
|
68
|
+
- examples/index_test.rb
|
69
|
+
- examples/info.rb
|
70
|
+
- examples/queries.rb
|
71
|
+
- examples/simple.rb
|
72
|
+
- examples/strict.rb
|
73
|
+
- examples/types.rb
|
74
|
+
- bin/bson_benchmark.rb
|
75
|
+
- bin/fail_if_no_c.rb
|
66
76
|
has_rdoc: true
|
67
77
|
homepage: http://www.mongodb.org
|
68
78
|
licenses: []
|
69
79
|
|
70
80
|
post_install_message:
|
71
81
|
rdoc_options:
|
72
|
-
|
73
|
-
|
74
|
-
|
82
|
+
- --main
|
83
|
+
- README.rdoc
|
84
|
+
- --inline-source
|
75
85
|
require_paths:
|
76
|
-
|
86
|
+
- lib
|
77
87
|
required_ruby_version: !ruby/object:Gem::Requirement
|
78
88
|
requirements:
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
segments:
|
92
|
+
- 0
|
93
|
+
version: "0"
|
83
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
95
|
requirements:
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
segments:
|
99
|
+
- 0
|
100
|
+
version: "0"
|
89
101
|
requirements: []
|
90
102
|
|
91
103
|
rubyforge_project:
|
92
|
-
rubygems_version: 1.3.
|
104
|
+
rubygems_version: 1.3.6
|
93
105
|
signing_key:
|
94
106
|
specification_version: 3
|
95
107
|
summary: Ruby driver for the MongoDB
|
96
108
|
test_files:
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
109
|
+
- test/auxillary/1.4_features.rb
|
110
|
+
- test/auxillary/authentication_test.rb
|
111
|
+
- test/auxillary/autoreconnect_test.rb
|
112
|
+
- test/collection_test.rb
|
113
|
+
- test/connection_test.rb
|
114
|
+
- test/conversions_test.rb
|
115
|
+
- test/cursor_test.rb
|
116
|
+
- test/db_api_test.rb
|
117
|
+
- test/db_connection_test.rb
|
118
|
+
- test/db_test.rb
|
119
|
+
- test/grid_file_system_test.rb
|
120
|
+
- test/grid_io_test.rb
|
121
|
+
- test/grid_test.rb
|
122
|
+
- test/replica/count_test.rb
|
123
|
+
- test/replica/insert_test.rb
|
124
|
+
- test/replica/pooled_insert_test.rb
|
125
|
+
- test/replica/query_test.rb
|
126
|
+
- test/slave_connection_test.rb
|
127
|
+
- test/support_test.rb
|
128
|
+
- test/test_helper.rb
|
129
|
+
- test/threading/test_threading_large_pool.rb
|
130
|
+
- test/threading_test.rb
|
131
|
+
- test/unit/collection_test.rb
|
132
|
+
- test/unit/connection_test.rb
|
133
|
+
- test/unit/cursor_test.rb
|
134
|
+
- test/unit/db_test.rb
|