bson_ext 1.8.2 → 1.8.3.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.tar.gz.sig +0 -0
- data/LICENSE +1 -1
- data/VERSION +1 -1
- data/bson_ext.gemspec +4 -1
- data/ext/cbson/bson_buffer.c +0 -16
- data/ext/cbson/bson_buffer.h +0 -16
- data/ext/cbson/cbson.c +87 -20
- data/ext/cbson/encoding_helpers.c +0 -16
- data/ext/cbson/encoding_helpers.h +0 -16
- data/ext/cbson/version.h +1 -17
- metadata +38 -12
- metadata.gz.sig +0 -0
data.tar.gz.sig
ADDED
Binary file
|
data/LICENSE
CHANGED
@@ -175,7 +175,7 @@
|
|
175
175
|
|
176
176
|
END OF TERMS AND CONDITIONS
|
177
177
|
|
178
|
-
Copyright 2008-
|
178
|
+
Copyright (C) 2008-2013 10gen, Inc.
|
179
179
|
|
180
180
|
Licensed under the Apache License, Version 2.0 (the "License");
|
181
181
|
you may not use this file except in compliance with the License.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.8.
|
1
|
+
1.8.3.rc0
|
data/bson_ext.gemspec
CHANGED
@@ -3,13 +3,16 @@ Gem::Specification.new do |s|
|
|
3
3
|
|
4
4
|
s.version = File.read(File.join(File.dirname(__FILE__), 'VERSION'))
|
5
5
|
s.platform = Gem::Platform::RUBY
|
6
|
-
s.authors = ['Tyler Brock', 'Gary Murakami', 'Emily Stolfo', 'Brandon Black']
|
6
|
+
s.authors = ['Tyler Brock', 'Gary Murakami', 'Emily Stolfo', 'Brandon Black', 'Durran Jordan']
|
7
7
|
s.email = 'mongodb-dev@googlegroups.com'
|
8
8
|
s.homepage = 'http://www.mongodb.org'
|
9
9
|
s.summary = 'C extensions for Ruby BSON.'
|
10
10
|
s.description = 'C extensions to accelerate the Ruby BSON serialization. For more information about BSON, see http://bsonspec.org. For information about MongoDB, see http://www.mongodb.org.'
|
11
11
|
s.rubyforge_project = 'bson_ext'
|
12
12
|
|
13
|
+
s.signing_key = 'gem-private_key.pem'
|
14
|
+
s.cert_chain = ['gem-public_cert.pem']
|
15
|
+
|
13
16
|
s.files = ['bson_ext.gemspec', 'LICENSE', 'VERSION']
|
14
17
|
s.files += Dir['ext/**/*.rb'] + Dir['ext/**/*.c'] + Dir['ext/**/*.h']
|
15
18
|
|
data/ext/cbson/bson_buffer.c
CHANGED
@@ -1,19 +1,3 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2009-2010 10gen, Inc.
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
1
|
#include <stdlib.h>
|
18
2
|
#include <string.h>
|
19
3
|
|
data/ext/cbson/bson_buffer.h
CHANGED
@@ -1,19 +1,3 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2009-2010 10gen, Inc.
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
1
|
#ifndef _BSON_BUFFER_H
|
18
2
|
#define _BSON_BUFFER_H
|
19
3
|
|
data/ext/cbson/cbson.c
CHANGED
@@ -1,19 +1,3 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2009-2010 10gen, Inc.
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
1
|
/*
|
18
2
|
* This file contains C implementations of some of the functions needed by the
|
19
3
|
* bson module. If possible, these implementations should be used to speed up
|
@@ -93,6 +77,7 @@ static VALUE OrderedHash;
|
|
93
77
|
static VALUE InvalidKeyName;
|
94
78
|
static VALUE InvalidStringEncoding;
|
95
79
|
static VALUE InvalidDocument;
|
80
|
+
static VALUE InvalidObjectId;
|
96
81
|
static VALUE DigestMD5;
|
97
82
|
static VALUE RB_HASH;
|
98
83
|
|
@@ -114,7 +99,7 @@ static int max_bson_size;
|
|
114
99
|
#endif
|
115
100
|
|
116
101
|
static void write_utf8(bson_buffer_t buffer, VALUE string, char check_null) {
|
117
|
-
result_t status = check_string(RSTRING_PTR(string), RSTRING_LEN(string),
|
102
|
+
result_t status = check_string((unsigned char*)RSTRING_PTR(string), RSTRING_LEN(string),
|
118
103
|
1, check_null);
|
119
104
|
if (status == HAS_NULL) {
|
120
105
|
bson_buffer_free(buffer);
|
@@ -298,7 +283,6 @@ static int write_element(VALUE key, VALUE value, VALUE extra, int allow_id) {
|
|
298
283
|
{
|
299
284
|
bson_buffer_position length_location, start_position, obj_length;
|
300
285
|
int items, i;
|
301
|
-
VALUE* values;
|
302
286
|
|
303
287
|
write_name_and_type(buffer, key, 0x04);
|
304
288
|
start_position = bson_buffer_get_position(buffer);
|
@@ -435,7 +419,7 @@ static int write_element(VALUE key, VALUE value, VALUE extra, int allow_id) {
|
|
435
419
|
if (strcmp(cls, "BSON::Timestamp") == 0) {
|
436
420
|
unsigned int seconds;
|
437
421
|
unsigned int increment;
|
438
|
-
|
422
|
+
|
439
423
|
write_name_and_type(buffer, key, 0x11);
|
440
424
|
|
441
425
|
seconds = NUM2UINT(
|
@@ -620,7 +604,7 @@ static void write_doc(bson_buffer_t buffer, VALUE hash, VALUE check_keys, VALUE
|
|
620
604
|
if (length > bson_buffer_get_max_size(buffer)) {
|
621
605
|
bson_buffer_free(buffer);
|
622
606
|
rb_raise(InvalidDocument,
|
623
|
-
"Document too large: This BSON
|
607
|
+
"Document too large: This BSON document is limited to %d bytes.",
|
624
608
|
bson_buffer_get_max_size(buffer));
|
625
609
|
return;
|
626
610
|
}
|
@@ -924,6 +908,85 @@ static VALUE method_deserialize(VALUE self, VALUE bson) {
|
|
924
908
|
return elements_to_hash(buffer, remaining);
|
925
909
|
}
|
926
910
|
|
911
|
+
static int legal_objectid_str(VALUE str) {
|
912
|
+
int i;
|
913
|
+
|
914
|
+
if (TYPE(str) != T_STRING) {
|
915
|
+
return 0;
|
916
|
+
}
|
917
|
+
|
918
|
+
if (RSTRING_LEN(str) != 24) {
|
919
|
+
return 0;
|
920
|
+
}
|
921
|
+
|
922
|
+
for(i = 0; i < 24; i++) {
|
923
|
+
char c = RSTRING_PTR(str)[i];
|
924
|
+
|
925
|
+
if (!((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f'))) {
|
926
|
+
return 0;
|
927
|
+
}
|
928
|
+
}
|
929
|
+
|
930
|
+
return 1;
|
931
|
+
}
|
932
|
+
|
933
|
+
static VALUE objectid_legal(VALUE self, VALUE str)
|
934
|
+
{
|
935
|
+
if (legal_objectid_str(str))
|
936
|
+
return Qtrue;
|
937
|
+
return Qfalse;
|
938
|
+
}
|
939
|
+
|
940
|
+
static char hexbyte( char hex ) {
|
941
|
+
if (hex >= '0' && hex <= '9')
|
942
|
+
return (hex - '0');
|
943
|
+
else if (hex >= 'A' && hex <= 'F')
|
944
|
+
return (hex - 'A' + 10);
|
945
|
+
else if (hex >= 'a' && hex <= 'f')
|
946
|
+
return (hex - 'a' + 10);
|
947
|
+
else
|
948
|
+
return 0x0;
|
949
|
+
}
|
950
|
+
|
951
|
+
static VALUE objectid_from_string(VALUE self, VALUE str)
|
952
|
+
{
|
953
|
+
VALUE oid;
|
954
|
+
int i;
|
955
|
+
|
956
|
+
if (!legal_objectid_str(str)) {
|
957
|
+
rb_raise(InvalidObjectId, "illegal ObjectId format: %s", RSTRING_PTR(str));
|
958
|
+
}
|
959
|
+
|
960
|
+
oid = rb_ary_new2(12);
|
961
|
+
|
962
|
+
for(i = 0; i < 12; i++) {
|
963
|
+
rb_ary_store(oid, i, INT2FIX( (unsigned)(hexbyte( RSTRING_PTR(str)[2*i] ) << 4 ) | hexbyte( RSTRING_PTR(str)[2*i + 1] )));
|
964
|
+
}
|
965
|
+
|
966
|
+
return rb_class_new_instance(1, &oid, ObjectId);
|
967
|
+
}
|
968
|
+
|
969
|
+
static VALUE objectid_to_s(VALUE self)
|
970
|
+
{
|
971
|
+
VALUE data;
|
972
|
+
char cstr[25];
|
973
|
+
VALUE rstr;
|
974
|
+
VALUE *data_arr;
|
975
|
+
|
976
|
+
data = rb_iv_get(self, "@data");
|
977
|
+
data_arr = RARRAY_PTR(data);
|
978
|
+
|
979
|
+
sprintf(cstr, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
|
980
|
+
(unsigned)NUM2INT(data_arr[0]), (unsigned)NUM2INT(data_arr[1]), (unsigned)NUM2INT(data_arr[2]), (unsigned)NUM2INT(data_arr[3]),
|
981
|
+
(unsigned)NUM2INT(data_arr[4]), (unsigned)NUM2INT(data_arr[5]), (unsigned)NUM2INT(data_arr[6]), (unsigned)NUM2INT(data_arr[7]),
|
982
|
+
(unsigned)NUM2INT(data_arr[8]), (unsigned)NUM2INT(data_arr[9]), (unsigned)NUM2INT(data_arr[10]), (unsigned)NUM2INT(data_arr[11]));
|
983
|
+
|
984
|
+
rstr = rb_str_new(cstr, 24);
|
985
|
+
|
986
|
+
return rstr;
|
987
|
+
}
|
988
|
+
|
989
|
+
|
927
990
|
static VALUE objectid_generate(int argc, VALUE* args, VALUE self)
|
928
991
|
{
|
929
992
|
VALUE oid;
|
@@ -1002,6 +1065,7 @@ void Init_cbson() {
|
|
1002
1065
|
InvalidKeyName = rb_const_get(bson, rb_intern("InvalidKeyName"));
|
1003
1066
|
InvalidStringEncoding = rb_const_get(bson, rb_intern("InvalidStringEncoding"));
|
1004
1067
|
InvalidDocument = rb_const_get(bson, rb_intern("InvalidDocument"));
|
1068
|
+
InvalidObjectId = rb_const_get(bson, rb_intern("InvalidObjectId"));
|
1005
1069
|
rb_require("bson/ordered_hash");
|
1006
1070
|
OrderedHash = rb_const_get(bson, rb_intern("OrderedHash"));
|
1007
1071
|
RB_HASH = rb_const_get(bson, rb_intern("Hash"));
|
@@ -1018,6 +1082,9 @@ void Init_cbson() {
|
|
1018
1082
|
Digest = rb_const_get(rb_cObject, rb_intern("Digest"));
|
1019
1083
|
DigestMD5 = rb_const_get(Digest, rb_intern("MD5"));
|
1020
1084
|
|
1085
|
+
rb_define_singleton_method(ObjectId, "legal?", objectid_legal, 1);
|
1086
|
+
rb_define_singleton_method(ObjectId, "from_string", objectid_from_string, 1);
|
1087
|
+
rb_define_method(ObjectId, "to_s", objectid_to_s, 0);
|
1021
1088
|
rb_define_method(ObjectId, "generate", objectid_generate, -1);
|
1022
1089
|
|
1023
1090
|
if (gethostname(hostname, MAX_HOSTNAME_LENGTH) != 0) {
|
@@ -1,19 +1,3 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2009-2010 10gen, Inc.
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
1
|
#include "encoding_helpers.h"
|
18
2
|
|
19
3
|
/*
|
@@ -1,19 +1,3 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2009-2010 10gen, Inc.
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
1
|
#ifndef ENCODING_HELPERS_H
|
18
2
|
#define ENCODING_HELPERS_H
|
19
3
|
|
data/ext/cbson/version.h
CHANGED
@@ -1,17 +1 @@
|
|
1
|
-
|
2
|
-
* Copyright 2009-2010 10gen, Inc.
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
#define VERSION "1.8.2"
|
1
|
+
#define VERSION "1.8.3.rc0"
|
metadata
CHANGED
@@ -1,18 +1,47 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bson_ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
5
|
-
prerelease:
|
4
|
+
version: 1.8.3.rc0
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Tyler Brock
|
9
9
|
- Gary Murakami
|
10
10
|
- Emily Stolfo
|
11
11
|
- Brandon Black
|
12
|
+
- Durran Jordan
|
12
13
|
autorequire:
|
13
14
|
bindir: bin
|
14
|
-
cert_chain:
|
15
|
-
|
15
|
+
cert_chain:
|
16
|
+
- !binary |-
|
17
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURPRENDQWlDZ0F3SUJB
|
18
|
+
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREJDTVJRd0VnWURWUVFEREF0a2Nt
|
19
|
+
bDIKWlhJdGNuVmllVEVWTUJNR0NnbVNKb21UOGl4a0FSa1dCVEV3WjJWdU1S
|
20
|
+
TXdFUVlLQ1pJbWlaUHlMR1FCR1JZRApZMjl0TUI0WERURXpNREl3TVRFME1U
|
21
|
+
RXpOMW9YRFRFME1ESXdNVEUwTVRFek4xb3dRakVVTUJJR0ExVUVBd3dMClpI
|
22
|
+
SnBkbVZ5TFhKMVlua3hGVEFUQmdvSmtpYUprL0lzWkFFWkZnVXhNR2RsYmpF
|
23
|
+
VE1CRUdDZ21TSm9tVDhpeGsKQVJrV0EyTnZiVENDQVNJd0RRWUpLb1pJaHZj
|
24
|
+
TkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFORmRTQWE4ZlJtMQpiQU05emE2
|
25
|
+
WjBmQUg0ZzAyYnFNMU5Hbnc4ekpRckUvUEZyRmZZNklGQ1QyQXNMZk93cjFt
|
26
|
+
YVZtN2lVMStrZFZJCklRK2lJLzkrRStBckorcmJHVjNkRFBRK1NMbDNtTFQr
|
27
|
+
dlhqZmpjeE1xSTJJVzZVdVZ0dDJVM1J4ZDRRVTBrZFQKSnhtY1BZczVmRE42
|
28
|
+
QmdZYzZYWGdVankzbStLd2hhMnBHY3RkY2lVT3dFZk9aNFJtTlJsRVpLQ01M
|
29
|
+
UkhkRlA4ago0V1RuSlNHZlhEaXVvWElDSmI1eU9QT1pQdWFhcFBTTlhwOTNR
|
30
|
+
a1Vkc3FkS0MzMkkrS01wS0tZR0JRNnlpc2ZBCjVNeVZQUEN6TFIxbFA1cVhW
|
31
|
+
R0pQbk9xVUFrdkVVZkNhaGc3RVA5dEkyMHF4aVhyUjZUU0VyYVloSUZYTDBF
|
32
|
+
R1kKdThLQWNQSG01S2tDQXdFQUFhTTVNRGN3Q1FZRFZSMFRCQUl3QURBZEJn
|
33
|
+
TlZIUTRFRmdRVVczZFpzWDcwbWxTTQpDaVByWnhBR0ExdndmTmN3Q3dZRFZS
|
34
|
+
MFBCQVFEQWdTd01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQ0lhL1k2CnhT
|
35
|
+
N1lXQnhrbjlXUDBFTW5KM3BZOXZlZjlEVG1MU2kvMmp6OFB6d2xLUTg5ek5U
|
36
|
+
cnFTVUQ4TG9RWm1CcUNKQnQKZEtTUS9SVW5hSEp1eGg4SFd2V3ViUDhFQllU
|
37
|
+
dWYrSTFERm5SdjY0OElGM01SMXRDUXVtVkwwWGNZTXZaY3hCagphL3ArOERv
|
38
|
+
bVdUUXFVZE5iTm9HeXd3anRWQldmRGR3RlY4UG8xWGNOL0F0cElMT0pRZDlK
|
39
|
+
NzdJTklHR0NIeFpvCjZTT0hIYU5rbmxFOUgwdzZxMFNWeFpLWkk4LysyYzQ0
|
40
|
+
N1YwTnJISXcxUWhlMHRBR0o5VjF1M2t5OGd5eGUwU00KOHY3ekxGMlhsaVli
|
41
|
+
ZnVyWUl3a2NYczh5UG44Z2dBcEJJeTliWDZWSnhScy9sMitVdnF6YUhJRmFG
|
42
|
+
eS9GOC9HUApSTlR1WHNWRzVOREFDbzdRCi0tLS0tRU5EIENFUlRJRklDQVRF
|
43
|
+
LS0tLS0K
|
44
|
+
date: 2013-02-14 00:00:00.000000000 Z
|
16
45
|
dependencies:
|
17
46
|
- !ruby/object:Gem::Dependency
|
18
47
|
name: bson
|
@@ -21,7 +50,7 @@ dependencies:
|
|
21
50
|
requirements:
|
22
51
|
- - ~>
|
23
52
|
- !ruby/object:Gem::Version
|
24
|
-
version: 1.8.
|
53
|
+
version: 1.8.3.rc0
|
25
54
|
type: :runtime
|
26
55
|
prerelease: false
|
27
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +58,7 @@ dependencies:
|
|
29
58
|
requirements:
|
30
59
|
- - ~>
|
31
60
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.8.
|
61
|
+
version: 1.8.3.rc0
|
33
62
|
description: C extensions to accelerate the Ruby BSON serialization. For more information
|
34
63
|
about BSON, see http://bsonspec.org. For information about MongoDB, see http://www.mongodb.org.
|
35
64
|
email: mongodb-dev@googlegroups.com
|
@@ -60,18 +89,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
60
89
|
- - ! '>='
|
61
90
|
- !ruby/object:Gem::Version
|
62
91
|
version: '0'
|
63
|
-
segments:
|
64
|
-
- 0
|
65
|
-
hash: -591947596938711831
|
66
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
67
93
|
none: false
|
68
94
|
requirements:
|
69
|
-
- - ! '
|
95
|
+
- - ! '>'
|
70
96
|
- !ruby/object:Gem::Version
|
71
|
-
version:
|
97
|
+
version: 1.3.1
|
72
98
|
requirements: []
|
73
99
|
rubyforge_project: bson_ext
|
74
|
-
rubygems_version: 1.8.
|
100
|
+
rubygems_version: 1.8.23
|
75
101
|
signing_key:
|
76
102
|
specification_version: 3
|
77
103
|
summary: C extensions for Ruby BSON.
|
metadata.gz.sig
ADDED
Binary file
|