bson_ext 1.9.2 → 1.10.0.rc0

Sign up to get free protection for your applications and to get access to all the features.
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