bson_ext 1.9.2 → 1.10.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 95f21eb7c2f463edc421d763272e55895ffc3664
4
- data.tar.gz: 7063daa72c8430f0527baac7053e683044a0d838
3
+ metadata.gz: 940e8d1b2870656eb41408f31af76a4fa6ed11f1
4
+ data.tar.gz: 2a9a132be6fc1aa2f7c77fa96d875239687cc618
5
5
  SHA512:
6
- metadata.gz: 6b06ed6df44ebd96fc1f7448841db2654dbe28bf24c35fea41d80ba8e3385a80c0fe1154245a6a5d7e968a76a8db34e6354c72b016e0414bafc4e83e1d89f40e
7
- data.tar.gz: dfefc8834ffda195927871a185cb96d03abb2706848c93a11dae961ccd4cc238c474b66fa4b84935c78f7b46b535cbfa8c607d85c2d19641edec40434b3cf8b9
6
+ metadata.gz: 2ccbe4e1e6facd55dfb64a4ae55efba46844d8619a957bc7558a82ad4b5bd4d5e5551cd60c31093d9cf34eb7caa64c1b6d6a879f9ec5bfc899b1e12eae23b667
7
+ data.tar.gz: d911ae505fc6ace187afa9cf9cb1830d001961193c896d66248a9b28e84d929de751d65da2fa4c9be2461044131586b5ee6139b957abdf13d95db2e2374ff8ae
Binary file
data.tar.gz.sig CHANGED
Binary file
data/LICENSE CHANGED
@@ -175,7 +175,7 @@
175
175
 
176
176
  END OF TERMS AND CONDITIONS
177
177
 
178
- Copyright (C) 2008-2013 10gen, Inc.
178
+ Copyright (C) 2008-2013 MongoDB, 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.9.2
1
+ 1.10.0.rc0
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2013 10gen Inc.
2
+ * Copyright (C) 2009-2013 MongoDB, Inc.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2013 10gen Inc.
2
+ * Copyright (C) 2009-2013 MongoDB, Inc.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2013 10gen Inc.
2
+ * Copyright (C) 2009-2013 MongoDB, Inc.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -89,6 +89,13 @@ static VALUE MinKey;
89
89
  static VALUE MaxKey;
90
90
  static VALUE Timestamp;
91
91
  static VALUE Regexp;
92
+ static VALUE BSONRegex;
93
+ static VALUE BSONRegex_IGNORECASE;
94
+ static VALUE BSONRegex_EXTENDED;
95
+ static VALUE BSONRegex_MULTILINE;
96
+ static VALUE BSONRegex_DOTALL;
97
+ static VALUE BSONRegex_LOCALE_DEPENDENT;
98
+ static VALUE BSONRegex_UNICODE;
92
99
  static VALUE OrderedHash;
93
100
  static VALUE InvalidKeyName;
94
101
  static VALUE InvalidStringEncoding;
@@ -99,6 +106,10 @@ static VALUE RB_HASH;
99
106
 
100
107
  static int max_bson_size;
101
108
 
109
+ struct deserialize_opts {
110
+ int compile_regex;
111
+ };
112
+
102
113
  #if HAVE_RUBY_ENCODING_H
103
114
  #include "ruby/encoding.h"
104
115
  #define STR_NEW(p,n) \
@@ -195,7 +206,7 @@ static int cmp_char(const void* a, const void* b) {
195
206
  static void write_doc(bson_buffer_t buffer, VALUE hash, VALUE check_keys, VALUE move_id);
196
207
  static int write_element_with_id(VALUE key, VALUE value, VALUE extra);
197
208
  static int write_element_without_id(VALUE key, VALUE value, VALUE extra);
198
- static VALUE elements_to_hash(const char* buffer, int max);
209
+ static VALUE elements_to_hash(const char* buffer, int max, struct deserialize_opts * opts);
199
210
 
200
211
  static VALUE pack_extra(bson_buffer_t buffer, VALUE check_keys) {
201
212
  return rb_ary_new3(2, LL2NUM((long long)buffer), check_keys);
@@ -207,6 +218,79 @@ static void write_name_and_type(bson_buffer_t buffer, VALUE name, char type) {
207
218
  SAFE_WRITE(buffer, &zero, 1);
208
219
  }
209
220
 
221
+ static void serialize_regex(bson_buffer_t buffer, VALUE key, VALUE pattern, long flags, VALUE value, int native) {
222
+
223
+ VALUE has_extra;
224
+
225
+ write_name_and_type(buffer, key, 0x0B);
226
+
227
+ write_utf8(buffer, pattern, 0);
228
+ SAFE_WRITE(buffer, &zero, 1);
229
+
230
+ if (native == 1) {
231
+ // Ruby regular expressions always use multiline mode
232
+ char multiline = 'm';
233
+ SAFE_WRITE(buffer, &multiline, 1);
234
+
235
+ if (flags & IGNORECASE) {
236
+ char ignorecase = 'i';
237
+ SAFE_WRITE(buffer, &ignorecase, 1);
238
+ }
239
+
240
+ // dotall on the server is multiline in Ruby
241
+ if (flags & MULTILINE) {
242
+ char dotall = 's';
243
+ SAFE_WRITE(buffer, &dotall, 1);
244
+ }
245
+
246
+ if (flags & EXTENDED) {
247
+ char extended = 'x';
248
+ SAFE_WRITE(buffer, &extended, 1);
249
+ }
250
+ }
251
+ else {
252
+ if (flags & BSONRegex_IGNORECASE) {
253
+ char ignorecase = 'i';
254
+ SAFE_WRITE(buffer, &ignorecase, 1);
255
+ }
256
+
257
+ if (flags & BSONRegex_LOCALE_DEPENDENT) {
258
+ char locale_dependent = 'l';
259
+ SAFE_WRITE(buffer, &locale_dependent, 1);
260
+ }
261
+
262
+ if (flags & BSONRegex_MULTILINE) {
263
+ char multiline = 'm';
264
+ SAFE_WRITE(buffer, &multiline, 1);
265
+ }
266
+
267
+ if (flags & BSONRegex_DOTALL) {
268
+ char dotall = 's';
269
+ SAFE_WRITE(buffer, &dotall, 1);
270
+ }
271
+
272
+ if (flags & BSONRegex_UNICODE) {
273
+ char unicode = 'u';
274
+ SAFE_WRITE(buffer, &unicode, 1);
275
+ }
276
+
277
+ if (flags & BSONRegex_EXTENDED) {
278
+ char extended = 'x';
279
+ SAFE_WRITE(buffer, &extended, 1);
280
+ }
281
+ }
282
+
283
+ has_extra = rb_funcall(value, rb_intern("respond_to?"), 1, rb_str_new2("extra_options_str"));
284
+ if (TYPE(has_extra) == T_TRUE) {
285
+ VALUE extra = rb_funcall(value, rb_intern("extra_options_str"), 0);
286
+ bson_buffer_position old_position = bson_buffer_get_position(buffer);
287
+ SAFE_WRITE(buffer, RSTRING_PTR(extra), RSTRING_LENINT(extra));
288
+ qsort(bson_buffer_get_buffer(buffer) + old_position, RSTRING_LEN(extra), sizeof(char), cmp_char);
289
+ }
290
+ SAFE_WRITE(buffer, &zero, 1);
291
+
292
+ }
293
+
210
294
  static int write_element(VALUE key, VALUE value, VALUE extra, int allow_id) {
211
295
  bson_buffer_t buffer = (bson_buffer_t)NUM2LL(rb_ary_entry(extra, 0));
212
296
  VALUE check_keys = rb_ary_entry(extra, 1);
@@ -468,6 +552,11 @@ static int write_element(VALUE key, VALUE value, VALUE extra, int allow_id) {
468
552
  SAFE_WRITE(buffer, &zero, 1);
469
553
  break;
470
554
  }
555
+ if (strcmp(cls, "BSON::Regex") == 0) {
556
+ serialize_regex(buffer, key, rb_funcall(value, rb_intern("pattern"), 0),
557
+ FIX2INT(rb_funcall(value, rb_intern("options"), 0)), value, 0);
558
+ break;
559
+ }
471
560
  bson_buffer_free(buffer);
472
561
  rb_raise(InvalidDocument, "Cannot serialize an object of class %s into BSON.", cls);
473
562
  break;
@@ -501,37 +590,7 @@ static int write_element(VALUE key, VALUE value, VALUE extra, int allow_id) {
501
590
  {
502
591
  VALUE pattern = RREGEXP_SRC(value);
503
592
  long flags = RREGEXP_OPTIONS(value);
504
- VALUE has_extra;
505
-
506
- write_name_and_type(buffer, key, 0x0B);
507
-
508
- write_utf8(buffer, pattern, 0);
509
- SAFE_WRITE(buffer, &zero, 1);
510
-
511
- if (flags & IGNORECASE) {
512
- char ignorecase = 'i';
513
- SAFE_WRITE(buffer, &ignorecase, 1);
514
- }
515
- if (flags & MULTILINE) {
516
- char multiline = 'm';
517
- char dotall = 's';
518
- SAFE_WRITE(buffer, &multiline, 1);
519
- SAFE_WRITE(buffer, &dotall, 1);
520
- }
521
- if (flags & EXTENDED) {
522
- char extended = 'x';
523
- SAFE_WRITE(buffer, &extended, 1);
524
- }
525
-
526
- has_extra = rb_funcall(value, rb_intern("respond_to?"), 1, rb_str_new2("extra_options_str"));
527
- if (TYPE(has_extra) == T_TRUE) {
528
- VALUE extra = rb_funcall(value, rb_intern("extra_options_str"), 0);
529
- bson_buffer_position old_position = bson_buffer_get_position(buffer);
530
- SAFE_WRITE(buffer, RSTRING_PTR(extra), RSTRING_LENINT(extra));
531
- qsort(bson_buffer_get_buffer(buffer) + old_position, RSTRING_LEN(extra), sizeof(char), cmp_char);
532
- }
533
- SAFE_WRITE(buffer, &zero, 1);
534
-
593
+ serialize_regex(buffer, key, pattern, flags, value, 1);
535
594
  break;
536
595
  }
537
596
  default:
@@ -648,10 +707,11 @@ static VALUE method_serialize(VALUE self, VALUE doc, VALUE check_keys,
648
707
  return result;
649
708
  }
650
709
 
651
- static VALUE get_value(const char* buffer, int* position, int type) {
710
+ static VALUE get_value(const char* buffer, int* position,
711
+ unsigned char type, struct deserialize_opts * opts) {
652
712
  VALUE value;
653
713
  switch (type) {
654
- case -1:
714
+ case 255:
655
715
  {
656
716
  value = rb_class_new_instance(0, NULL, MinKey);
657
717
  break;
@@ -682,17 +742,17 @@ static VALUE get_value(const char* buffer, int* position, int type) {
682
742
  int offset = *position + 10;
683
743
  VALUE argv[2];
684
744
  int collection_length = *(int*)(buffer + offset) - 1;
685
- char id_type;
745
+ unsigned char id_type;
686
746
  offset += 4;
687
747
 
688
748
  argv[0] = STR_NEW(buffer + offset, collection_length);
689
749
  offset += collection_length + 1;
690
- id_type = buffer[offset];
750
+ id_type = (unsigned char)buffer[offset];
691
751
  offset += 5;
692
- argv[1] = get_value(buffer, &offset, (int)id_type);
752
+ argv[1] = get_value(buffer, &offset, id_type, opts);
693
753
  value = rb_class_new_instance(2, argv, DBRef);
694
754
  } else {
695
- value = elements_to_hash(buffer + *position + 4, size - 5);
755
+ value = elements_to_hash(buffer + *position + 4, size - 5, opts);
696
756
  }
697
757
  *position += size;
698
758
  break;
@@ -706,12 +766,12 @@ static VALUE get_value(const char* buffer, int* position, int type) {
706
766
 
707
767
  value = rb_ary_new();
708
768
  while (*position < end) {
709
- int type = (int)buffer[(*position)++];
769
+ unsigned char type = (unsigned char)buffer[(*position)++];
710
770
  int key_size = (int)strlen(buffer + *position);
711
771
  VALUE to_append;
712
772
 
713
773
  *position += key_size + 1; // just skip the key, they're in order.
714
- to_append = get_value(buffer, position, type);
774
+ to_append = get_value(buffer, position, type, opts);
715
775
  rb_ary_push(value, to_append);
716
776
  }
717
777
  (*position)++;
@@ -786,29 +846,19 @@ static VALUE get_value(const char* buffer, int* position, int type) {
786
846
  {
787
847
  int pattern_length = (int)strlen(buffer + *position);
788
848
  VALUE pattern = STR_NEW(buffer + *position, pattern_length);
789
- int flags_length, flags = 0, i = 0;
849
+ int flags_length;
790
850
  VALUE argv[3];
791
851
  *position += pattern_length + 1;
792
852
 
793
853
  flags_length = (int)strlen(buffer + *position);
794
- for (i = 0; i < flags_length; i++) {
795
- char flag = buffer[*position + i];
796
- if (flag == 'i') {
797
- flags |= IGNORECASE;
798
- }
799
- else if (flag == 'm') {
800
- flags |= MULTILINE;
801
- }
802
- else if (flag == 's') {
803
- flags |= MULTILINE;
804
- }
805
- else if (flag == 'x') {
806
- flags |= EXTENDED;
807
- }
808
- }
854
+ VALUE flags_str = STR_NEW(buffer + *position, flags_length);
809
855
  argv[0] = pattern;
810
- argv[1] = INT2FIX(flags);
811
- value = rb_class_new_instance(2, argv, Regexp);
856
+ argv[1] = flags_str;
857
+ value = rb_class_new_instance(2, argv, BSONRegex);
858
+
859
+ if (opts->compile_regex == 1) {
860
+ value = rb_funcall(value, rb_intern("try_compile"), 0);
861
+ }
812
862
  *position += flags_length + 1;
813
863
  break;
814
864
  }
@@ -850,7 +900,7 @@ static VALUE get_value(const char* buffer, int* position, int type) {
850
900
  *position += code_length + 1;
851
901
 
852
902
  memcpy(&scope_size, buffer + *position, 4);
853
- scope = elements_to_hash(buffer + *position + 4, scope_size - 5);
903
+ scope = elements_to_hash(buffer + *position + 4, scope_size - 5, opts);
854
904
  *position += scope_size;
855
905
 
856
906
  argv[0] = code;
@@ -900,30 +950,36 @@ static VALUE get_value(const char* buffer, int* position, int type) {
900
950
  return value;
901
951
  }
902
952
 
903
- static VALUE elements_to_hash(const char* buffer, int max) {
953
+ static VALUE elements_to_hash(const char* buffer, int max, struct deserialize_opts * opts) {
904
954
  VALUE hash = rb_class_new_instance(0, NULL, OrderedHash);
905
955
  int position = 0;
906
956
  while (position < max) {
907
- int type = (int)buffer[position++];
957
+ unsigned char type = (unsigned char)buffer[position++];
908
958
  int name_length = (int)strlen(buffer + position);
909
959
  VALUE name = STR_NEW(buffer + position, name_length);
910
960
  VALUE value;
911
961
  position += name_length + 1;
912
- value = get_value(buffer, &position, type);
962
+ value = get_value(buffer, &position, type, opts);
913
963
  rb_funcall(hash, element_assignment_method, 2, name, value);
914
964
  }
915
965
  return hash;
916
966
  }
917
967
 
918
- static VALUE method_deserialize(VALUE self, VALUE bson) {
968
+ static VALUE method_deserialize(VALUE self, VALUE bson, VALUE opts) {
919
969
  const char* buffer = RSTRING_PTR(bson);
920
970
  int remaining = RSTRING_LENINT(bson);
971
+ struct deserialize_opts deserialize_opts;
972
+ deserialize_opts.compile_regex = 1;
973
+ if (rb_funcall(opts, rb_intern("has_key?"), 1, ID2SYM(rb_intern("compile_regex"))) == Qtrue &&
974
+ rb_hash_aref(opts, ID2SYM(rb_intern("compile_regex"))) == Qfalse) {
975
+ deserialize_opts.compile_regex = 0;
976
+ }
921
977
 
922
978
  // NOTE we just swallow the size and end byte here
923
979
  buffer += 4;
924
980
  remaining -= 5;
925
981
 
926
- return elements_to_hash(buffer, remaining);
982
+ return elements_to_hash(buffer, remaining, &deserialize_opts);
927
983
  }
928
984
 
929
985
  static int legal_objectid_str(VALUE str) {
@@ -1084,6 +1140,14 @@ void Init_cbson() {
1084
1140
  MaxKey = rb_const_get(bson, rb_intern("MaxKey"));
1085
1141
  rb_require("bson/types/timestamp");
1086
1142
  Timestamp = rb_const_get(bson, rb_intern("Timestamp"));
1143
+ rb_require("bson/types/regex");
1144
+ BSONRegex = rb_const_get(bson, rb_intern("Regex"));
1145
+ BSONRegex_IGNORECASE = rb_const_get(BSONRegex, rb_intern("IGNORECASE"));
1146
+ BSONRegex_EXTENDED = rb_const_get(BSONRegex, rb_intern("EXTENDED"));
1147
+ BSONRegex_MULTILINE = rb_const_get(BSONRegex, rb_intern("MULTILINE"));
1148
+ BSONRegex_DOTALL = rb_const_get(BSONRegex, rb_intern("DOTALL"));
1149
+ BSONRegex_LOCALE_DEPENDENT = rb_const_get(BSONRegex, rb_intern("LOCALE_DEPENDENT"));
1150
+ BSONRegex_UNICODE = rb_const_get(BSONRegex, rb_intern("UNICODE"));
1087
1151
  Regexp = rb_const_get(rb_cObject, rb_intern("Regexp"));
1088
1152
  rb_require("bson/exceptions");
1089
1153
  InvalidKeyName = rb_const_get(bson, rb_intern("InvalidKeyName"));
@@ -1098,7 +1162,7 @@ void Init_cbson() {
1098
1162
  ext_version = rb_str_new2(VERSION);
1099
1163
  rb_define_const(CBson, "VERSION", ext_version);
1100
1164
  rb_define_module_function(CBson, "serialize", method_serialize, 4);
1101
- rb_define_module_function(CBson, "deserialize", method_deserialize, 1);
1165
+ rb_define_module_function(CBson, "deserialize", method_deserialize, 2);
1102
1166
  rb_define_module_function(CBson, "max_bson_size", method_max_bson_size, 0);
1103
1167
  rb_define_module_function(CBson, "update_max_bson_size", method_update_max_bson_size, 1);
1104
1168
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2013 10gen Inc.
2
+ * Copyright 2013 MongoDB, Inc.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2013 10gen Inc.
2
+ * Copyright 2013 MongoDB, Inc.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2013 10gen Inc.
2
+ * Copyright (C) 2009-2013 MongoDB, Inc.
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
@@ -14,4 +14,4 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- #define VERSION "1.9.2"
17
+ #define VERSION "1.10.0.rc0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bson_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.2
4
+ version: 1.10.0.rc0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -14,41 +14,42 @@ bindir: bin
14
14
  cert_chain:
15
15
  - |
16
16
  -----BEGIN CERTIFICATE-----
17
- MIIDODCCAiCgAwIBAgIBADANBgkqhkiG9w0BAQUFADBCMRQwEgYDVQQDDAtkcml2
17
+ MIIDfDCCAmSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBCMRQwEgYDVQQDDAtkcml2
18
18
  ZXItcnVieTEVMBMGCgmSJomT8ixkARkWBTEwZ2VuMRMwEQYKCZImiZPyLGQBGRYD
19
- Y29tMB4XDTEzMDIwMTE0MTEzN1oXDTE0MDIwMTE0MTEzN1owQjEUMBIGA1UEAwwL
19
+ Y29tMB4XDTE0MDIxODIyMDQwMVoXDTE1MDIxODIyMDQwMVowQjEUMBIGA1UEAwwL
20
20
  ZHJpdmVyLXJ1YnkxFTATBgoJkiaJk/IsZAEZFgUxMGdlbjETMBEGCgmSJomT8ixk
21
- ARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANFdSAa8fRm1
22
- bAM9za6Z0fAH4g02bqM1NGnw8zJQrE/PFrFfY6IFCT2AsLfOwr1maVm7iU1+kdVI
23
- IQ+iI/9+E+ArJ+rbGV3dDPQ+SLl3mLT+vXjfjcxMqI2IW6UuVtt2U3Rxd4QU0kdT
24
- JxmcPYs5fDN6BgYc6XXgUjy3m+Kwha2pGctdciUOwEfOZ4RmNRlEZKCMLRHdFP8j
25
- 4WTnJSGfXDiuoXICJb5yOPOZPuaapPSNXp93QkUdsqdKC32I+KMpKKYGBQ6yisfA
26
- 5MyVPPCzLR1lP5qXVGJPnOqUAkvEUfCahg7EP9tI20qxiXrR6TSEraYhIFXL0EGY
27
- u8KAcPHm5KkCAwEAAaM5MDcwCQYDVR0TBAIwADAdBgNVHQ4EFgQUW3dZsX70mlSM
28
- CiPrZxAGA1vwfNcwCwYDVR0PBAQDAgSwMA0GCSqGSIb3DQEBBQUAA4IBAQCIa/Y6
29
- xS7YWBxkn9WP0EMnJ3pY9vef9DTmLSi/2jz8PzwlKQ89zNTrqSUD8LoQZmBqCJBt
30
- dKSQ/RUnaHJuxh8HWvWubP8EBYTuf+I1DFnRv648IF3MR1tCQumVL0XcYMvZcxBj
31
- a/p+8DomWTQqUdNbNoGywwjtVBWfDdwFV8Po1XcN/AtpILOJQd9J77INIGGCHxZo
32
- 6SOHHaNknlE9H0w6q0SVxZKZI8/+2c447V0NrHIw1Qhe0tAGJ9V1u3ky8gyxe0SM
33
- 8v7zLF2XliYbfurYIwkcXs8yPn8ggApBIy9bX6VJxRs/l2+UvqzaHIFaFy/F8/GP
34
- RNTuXsVG5NDACo7Q
21
+ ARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANdoZILE3alL
22
+ V5OGgh2hkgVTd79nRV3akueIZgu9qXhNHixXsyxBnaSPbrK7s1bWurgVT/Klp//3
23
+ ASnU78R5ChmCX5/xMRp+E9FO69nCt33njUKyYU0+SwiEID02At+bUb3iS7S5CIMO
24
+ tLSybh/DhH9Hi5g+FqwpRQy/RQcTJ6Uz/75+Ng2J0oz6eVvXAuEz75apE3qJcLb3
25
+ w699mm0e4qqpfHcSkgJbOGpmbrb+XimNy+AXdagkKYk2tUjYiCwkLop0hf/XBEWu
26
+ ap8vwBNdAn+ox1eNQUSdowBf4dJvIJWepRjqeFRcLPUrF5JES7qyHbnyi7nqtaCS
27
+ GwLBeSsgxdECAwEAAaN9MHswCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
28
+ BBYEFEfmGN56RK0OIRqm4XYACgI7AXbsMCAGA1UdEQQZMBeBFWRyaXZlci1ydWJ5
29
+ QDEwZ2VuLmNvbTAgBgNVHRIEGTAXgRVkcml2ZXItcnVieUAxMGdlbi5jb20wDQYJ
30
+ KoZIhvcNAQEFBQADggEBAFcxu5xBsPg6szjBrkej2P+Qa9LK22rdIZtECnK8TLsQ
31
+ tmNdYMraNgiYf96U1zZKvjgzI04BRYmIeCnIDdg2MkpOZO35d/v/Hu0N9tiu08NX
32
+ aSSw+yzt43hIzEtYgs0WlSxXqnmu0ClA37t+mA0OTzp64pkQSiJfYlMbsCpElk4r
33
+ vJ5hsT7hMiPKABow5+pXckFwznEuciyBCx3ox9MnEic8qsjdiZgleeAJKDpKb+uX
34
+ ZLLlRFg7YfmA+N2giYd0oQz670xnBy5ZOvtXZe1wLLfGyeDwXeTrQGUE3oBRpr/t
35
+ eokvmuSJOtUOXE7dArS2jfgXfYsg1YZt4HttbJ9Z4ZM=
35
36
  -----END CERTIFICATE-----
36
- date: 2013-08-21 00:00:00.000000000 Z
37
+ date: 2014-02-18 00:00:00.000000000 Z
37
38
  dependencies:
38
39
  - !ruby/object:Gem::Dependency
39
40
  name: bson
40
41
  requirement: !ruby/object:Gem::Requirement
41
42
  requirements:
42
- - - ~>
43
+ - - "~>"
43
44
  - !ruby/object:Gem::Version
44
- version: 1.9.2
45
+ version: 1.10.0.rc0
45
46
  type: :runtime
46
47
  prerelease: false
47
48
  version_requirements: !ruby/object:Gem::Requirement
48
49
  requirements:
49
- - - ~>
50
+ - - "~>"
50
51
  - !ruby/object:Gem::Version
51
- version: 1.9.2
52
+ version: 1.10.0.rc0
52
53
  description: C extensions to accelerate the Ruby BSON serialization. For more information
53
54
  about BSON, see http://bsonspec.org. For information about MongoDB, see http://www.mongodb.org.
54
55
  email: mongodb-dev@googlegroups.com
@@ -57,15 +58,15 @@ extensions:
57
58
  - ext/cbson/extconf.rb
58
59
  extra_rdoc_files: []
59
60
  files:
60
- - bson_ext.gemspec
61
61
  - LICENSE
62
62
  - VERSION
63
- - ext/cbson/extconf.rb
63
+ - bson_ext.gemspec
64
64
  - ext/cbson/bson_buffer.c
65
+ - ext/cbson/bson_buffer.h
65
66
  - ext/cbson/cbson.c
66
67
  - ext/cbson/encoding_helpers.c
67
- - ext/cbson/bson_buffer.h
68
68
  - ext/cbson/encoding_helpers.h
69
+ - ext/cbson/extconf.rb
69
70
  - ext/cbson/version.h
70
71
  homepage: http://www.mongodb.org
71
72
  licenses:
@@ -77,17 +78,17 @@ require_paths:
77
78
  - ext/bson_ext
78
79
  required_ruby_version: !ruby/object:Gem::Requirement
79
80
  requirements:
80
- - - '>='
81
+ - - ">="
81
82
  - !ruby/object:Gem::Version
82
83
  version: '0'
83
84
  required_rubygems_version: !ruby/object:Gem::Requirement
84
85
  requirements:
85
- - - '>='
86
+ - - ">"
86
87
  - !ruby/object:Gem::Version
87
- version: '0'
88
+ version: 1.3.1
88
89
  requirements: []
89
90
  rubyforge_project: bson_ext
90
- rubygems_version: 2.0.7
91
+ rubygems_version: 2.2.1
91
92
  signing_key:
92
93
  specification_version: 4
93
94
  summary: C extensions for Ruby BSON.
metadata.gz.sig CHANGED
Binary file