ffi-yajl 0.0.1-universal-java → 0.0.2-universal-java

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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -1
  3. data/ext/ffi_yajl/ext/encoder/encoder.bundle +0 -0
  4. data/ext/ffi_yajl/ext/encoder/encoder.c +13 -1
  5. data/ext/ffi_yajl/ext/encoder/encoder.o +0 -0
  6. data/ext/ffi_yajl/ext/parser/parser.bundle +0 -0
  7. data/ext/ffi_yajl/ext/parser/parser.o +0 -0
  8. data/ext/libyajl2/extconf.rb +0 -5
  9. data/ext/libyajl2/mkmf.log +63 -0
  10. data/lib/ffi_yajl/ffi/encoder.rb +9 -0
  11. data/lib/ffi_yajl/version.rb +1 -1
  12. data/lib/libyajl.2.0.1.dylib +0 -0
  13. data/lib/libyajl.2.dylib +0 -0
  14. data/lib/libyajl.dylib +0 -0
  15. data/lib/libyajl_s.a +0 -0
  16. data/spec/ffi_yajl/encoder_spec.rb +10 -0
  17. metadata +10 -171
  18. data/ext/libyajl2/vendored/.gitignore +0 -3
  19. data/ext/libyajl2/vendored/BUILDING +0 -23
  20. data/ext/libyajl2/vendored/BUILDING.win32 +0 -27
  21. data/ext/libyajl2/vendored/CMakeLists.txt +0 -79
  22. data/ext/libyajl2/vendored/COPYING +0 -13
  23. data/ext/libyajl2/vendored/ChangeLog +0 -175
  24. data/ext/libyajl2/vendored/README +0 -74
  25. data/ext/libyajl2/vendored/TODO +0 -9
  26. data/ext/libyajl2/vendored/YAJLDoc.cmake +0 -26
  27. data/ext/libyajl2/vendored/configure +0 -79
  28. data/ext/libyajl2/vendored/example/CMakeLists.txt +0 -23
  29. data/ext/libyajl2/vendored/example/README.md +0 -7
  30. data/ext/libyajl2/vendored/example/parse_config.c +0 -69
  31. data/ext/libyajl2/vendored/example/sample.config +0 -101
  32. data/ext/libyajl2/vendored/perf/CMakeLists.txt +0 -23
  33. data/ext/libyajl2/vendored/perf/documents.c +0 -1418
  34. data/ext/libyajl2/vendored/perf/documents.h +0 -28
  35. data/ext/libyajl2/vendored/perf/perftest.c +0 -134
  36. data/ext/libyajl2/vendored/reformatter/CMakeLists.txt +0 -39
  37. data/ext/libyajl2/vendored/reformatter/json_reformat.c +0 -194
  38. data/ext/libyajl2/vendored/src/CMakeLists.txt +0 -86
  39. data/ext/libyajl2/vendored/src/YAJL.dxy +0 -1258
  40. data/ext/libyajl2/vendored/src/api/yajl_common.h +0 -75
  41. data/ext/libyajl2/vendored/src/api/yajl_gen.h +0 -157
  42. data/ext/libyajl2/vendored/src/api/yajl_parse.h +0 -226
  43. data/ext/libyajl2/vendored/src/api/yajl_tree.h +0 -185
  44. data/ext/libyajl2/vendored/src/api/yajl_version.h.cmake +0 -23
  45. data/ext/libyajl2/vendored/src/yajl +0 -33
  46. data/ext/libyajl2/vendored/src/yajl.c +0 -175
  47. data/ext/libyajl2/vendored/src/yajl.pc.cmake +0 -9
  48. data/ext/libyajl2/vendored/src/yajl_alloc.c +0 -52
  49. data/ext/libyajl2/vendored/src/yajl_alloc.h +0 -34
  50. data/ext/libyajl2/vendored/src/yajl_buf.c +0 -103
  51. data/ext/libyajl2/vendored/src/yajl_buf.h +0 -57
  52. data/ext/libyajl2/vendored/src/yajl_bytestack.h +0 -69
  53. data/ext/libyajl2/vendored/src/yajl_encode.c +0 -220
  54. data/ext/libyajl2/vendored/src/yajl_encode.h +0 -34
  55. data/ext/libyajl2/vendored/src/yajl_gen.c +0 -354
  56. data/ext/libyajl2/vendored/src/yajl_lex.c +0 -763
  57. data/ext/libyajl2/vendored/src/yajl_lex.h +0 -117
  58. data/ext/libyajl2/vendored/src/yajl_parser.c +0 -498
  59. data/ext/libyajl2/vendored/src/yajl_parser.h +0 -78
  60. data/ext/libyajl2/vendored/src/yajl_tree.c +0 -503
  61. data/ext/libyajl2/vendored/src/yajl_version.c +0 -7
  62. data/ext/libyajl2/vendored/test/CMakeLists.txt +0 -23
  63. data/ext/libyajl2/vendored/test/cases/ac_difficult_json_c_test_case_with_comments.json +0 -1
  64. data/ext/libyajl2/vendored/test/cases/ac_difficult_json_c_test_case_with_comments.json.gold +0 -36
  65. data/ext/libyajl2/vendored/test/cases/ac_simple_with_comments.json +0 -11
  66. data/ext/libyajl2/vendored/test/cases/ac_simple_with_comments.json.gold +0 -9
  67. data/ext/libyajl2/vendored/test/cases/ag_false_then_garbage.json +0 -1
  68. data/ext/libyajl2/vendored/test/cases/ag_false_then_garbage.json.gold +0 -2
  69. data/ext/libyajl2/vendored/test/cases/ag_null_then_garbage.json +0 -1
  70. data/ext/libyajl2/vendored/test/cases/ag_null_then_garbage.json.gold +0 -2
  71. data/ext/libyajl2/vendored/test/cases/ag_true_then_garbage.json +0 -1
  72. data/ext/libyajl2/vendored/test/cases/ag_true_then_garbage.json.gold +0 -2
  73. data/ext/libyajl2/vendored/test/cases/am_eof.json +0 -1
  74. data/ext/libyajl2/vendored/test/cases/am_eof.json.gold +0 -4
  75. data/ext/libyajl2/vendored/test/cases/am_integers.json +0 -1
  76. data/ext/libyajl2/vendored/test/cases/am_integers.json.gold +0 -3
  77. data/ext/libyajl2/vendored/test/cases/am_multiple.json +0 -3
  78. data/ext/libyajl2/vendored/test/cases/am_multiple.json.gold +0 -5
  79. data/ext/libyajl2/vendored/test/cases/am_stuff.json +0 -7
  80. data/ext/libyajl2/vendored/test/cases/am_stuff.json.gold +0 -14
  81. data/ext/libyajl2/vendored/test/cases/ap_array_open.json +0 -1
  82. data/ext/libyajl2/vendored/test/cases/ap_array_open.json.gold +0 -2
  83. data/ext/libyajl2/vendored/test/cases/ap_eof_str.json +0 -1
  84. data/ext/libyajl2/vendored/test/cases/ap_eof_str.json.gold +0 -1
  85. data/ext/libyajl2/vendored/test/cases/ap_map_open.json +0 -1
  86. data/ext/libyajl2/vendored/test/cases/ap_map_open.json.gold +0 -2
  87. data/ext/libyajl2/vendored/test/cases/ap_partial_ok.json +0 -1
  88. data/ext/libyajl2/vendored/test/cases/ap_partial_ok.json.gold +0 -4
  89. data/ext/libyajl2/vendored/test/cases/array.json +0 -6
  90. data/ext/libyajl2/vendored/test/cases/array.json.gold +0 -22
  91. data/ext/libyajl2/vendored/test/cases/array_close.json +0 -1
  92. data/ext/libyajl2/vendored/test/cases/array_close.json.gold +0 -2
  93. data/ext/libyajl2/vendored/test/cases/bignums.json +0 -1
  94. data/ext/libyajl2/vendored/test/cases/bignums.json.gold +0 -5
  95. data/ext/libyajl2/vendored/test/cases/bogus_char.json +0 -4
  96. data/ext/libyajl2/vendored/test/cases/bogus_char.json.gold +0 -10
  97. data/ext/libyajl2/vendored/test/cases/codepoints_from_unicode_org.json +0 -1
  98. data/ext/libyajl2/vendored/test/cases/codepoints_from_unicode_org.json.gold +0 -2
  99. data/ext/libyajl2/vendored/test/cases/deep_arrays.json +0 -1
  100. data/ext/libyajl2/vendored/test/cases/deep_arrays.json.gold +0 -2049
  101. data/ext/libyajl2/vendored/test/cases/difficult_json_c_test_case.json +0 -1
  102. data/ext/libyajl2/vendored/test/cases/difficult_json_c_test_case.json.gold +0 -36
  103. data/ext/libyajl2/vendored/test/cases/doubles.json +0 -1
  104. data/ext/libyajl2/vendored/test/cases/doubles.json.gold +0 -7
  105. data/ext/libyajl2/vendored/test/cases/doubles_in_array.json +0 -1
  106. data/ext/libyajl2/vendored/test/cases/doubles_in_array.json.gold +0 -8
  107. data/ext/libyajl2/vendored/test/cases/empty_array.json +0 -1
  108. data/ext/libyajl2/vendored/test/cases/empty_array.json.gold +0 -3
  109. data/ext/libyajl2/vendored/test/cases/empty_string.json +0 -1
  110. data/ext/libyajl2/vendored/test/cases/empty_string.json.gold +0 -2
  111. data/ext/libyajl2/vendored/test/cases/escaped_bulgarian.json +0 -4
  112. data/ext/libyajl2/vendored/test/cases/escaped_bulgarian.json.gold +0 -7
  113. data/ext/libyajl2/vendored/test/cases/escaped_foobar.json +0 -1
  114. data/ext/libyajl2/vendored/test/cases/escaped_foobar.json.gold +0 -2
  115. data/ext/libyajl2/vendored/test/cases/false.json +0 -1
  116. data/ext/libyajl2/vendored/test/cases/false.json.gold +0 -2
  117. data/ext/libyajl2/vendored/test/cases/fg_false_then_garbage.json +0 -1
  118. data/ext/libyajl2/vendored/test/cases/fg_false_then_garbage.json.gold +0 -3
  119. data/ext/libyajl2/vendored/test/cases/fg_issue_7.json +0 -1
  120. data/ext/libyajl2/vendored/test/cases/fg_issue_7.json.gold +0 -3
  121. data/ext/libyajl2/vendored/test/cases/fg_null_then_garbage.json +0 -1
  122. data/ext/libyajl2/vendored/test/cases/fg_null_then_garbage.json.gold +0 -3
  123. data/ext/libyajl2/vendored/test/cases/fg_true_then_garbage.json +0 -1
  124. data/ext/libyajl2/vendored/test/cases/fg_true_then_garbage.json.gold +0 -3
  125. data/ext/libyajl2/vendored/test/cases/four_byte_utf8.json +0 -2
  126. data/ext/libyajl2/vendored/test/cases/four_byte_utf8.json.gold +0 -5
  127. data/ext/libyajl2/vendored/test/cases/high_overflow.json +0 -1
  128. data/ext/libyajl2/vendored/test/cases/high_overflow.json.gold +0 -2
  129. data/ext/libyajl2/vendored/test/cases/integers.json +0 -3
  130. data/ext/libyajl2/vendored/test/cases/integers.json.gold +0 -14
  131. data/ext/libyajl2/vendored/test/cases/invalid_utf8.json +0 -1
  132. data/ext/libyajl2/vendored/test/cases/invalid_utf8.json.gold +0 -3
  133. data/ext/libyajl2/vendored/test/cases/isolated_surrogate_marker.json +0 -1
  134. data/ext/libyajl2/vendored/test/cases/isolated_surrogate_marker.json.gold +0 -2
  135. data/ext/libyajl2/vendored/test/cases/leading_zero_in_number.json +0 -1
  136. data/ext/libyajl2/vendored/test/cases/leading_zero_in_number.json.gold +0 -5
  137. data/ext/libyajl2/vendored/test/cases/lonely_minus_sign.json +0 -7
  138. data/ext/libyajl2/vendored/test/cases/lonely_minus_sign.json.gold +0 -9
  139. data/ext/libyajl2/vendored/test/cases/lonely_number.json +0 -1
  140. data/ext/libyajl2/vendored/test/cases/lonely_number.json.gold +0 -2
  141. data/ext/libyajl2/vendored/test/cases/low_overflow.json +0 -1
  142. data/ext/libyajl2/vendored/test/cases/low_overflow.json.gold +0 -2
  143. data/ext/libyajl2/vendored/test/cases/map_close.json +0 -1
  144. data/ext/libyajl2/vendored/test/cases/map_close.json.gold +0 -2
  145. data/ext/libyajl2/vendored/test/cases/missing_integer_after_decimal_point.json +0 -1
  146. data/ext/libyajl2/vendored/test/cases/missing_integer_after_decimal_point.json.gold +0 -2
  147. data/ext/libyajl2/vendored/test/cases/missing_integer_after_exponent.json +0 -1
  148. data/ext/libyajl2/vendored/test/cases/missing_integer_after_exponent.json.gold +0 -2
  149. data/ext/libyajl2/vendored/test/cases/multiple.json +0 -3
  150. data/ext/libyajl2/vendored/test/cases/multiple.json.gold +0 -4
  151. data/ext/libyajl2/vendored/test/cases/non_utf8_char_in_string.json +0 -1
  152. data/ext/libyajl2/vendored/test/cases/non_utf8_char_in_string.json.gold +0 -8
  153. data/ext/libyajl2/vendored/test/cases/np_partial_bad.json +0 -1
  154. data/ext/libyajl2/vendored/test/cases/np_partial_bad.json.gold +0 -5
  155. data/ext/libyajl2/vendored/test/cases/null.json +0 -1
  156. data/ext/libyajl2/vendored/test/cases/null.json.gold +0 -2
  157. data/ext/libyajl2/vendored/test/cases/nulls_and_bools.json +0 -5
  158. data/ext/libyajl2/vendored/test/cases/nulls_and_bools.json.gold +0 -9
  159. data/ext/libyajl2/vendored/test/cases/simple.json +0 -5
  160. data/ext/libyajl2/vendored/test/cases/simple.json.gold +0 -9
  161. data/ext/libyajl2/vendored/test/cases/simple_with_comments.json +0 -11
  162. data/ext/libyajl2/vendored/test/cases/simple_with_comments.json.gold +0 -5
  163. data/ext/libyajl2/vendored/test/cases/string_invalid_escape.json +0 -1
  164. data/ext/libyajl2/vendored/test/cases/string_invalid_escape.json.gold +0 -3
  165. data/ext/libyajl2/vendored/test/cases/string_invalid_hex_char.json +0 -1
  166. data/ext/libyajl2/vendored/test/cases/string_invalid_hex_char.json.gold +0 -2
  167. data/ext/libyajl2/vendored/test/cases/string_with_escapes.json +0 -3
  168. data/ext/libyajl2/vendored/test/cases/string_with_escapes.json.gold +0 -7
  169. data/ext/libyajl2/vendored/test/cases/string_with_invalid_newline.json +0 -2
  170. data/ext/libyajl2/vendored/test/cases/string_with_invalid_newline.json.gold +0 -2
  171. data/ext/libyajl2/vendored/test/cases/three_byte_utf8.json +0 -1
  172. data/ext/libyajl2/vendored/test/cases/three_byte_utf8.json.gold +0 -7
  173. data/ext/libyajl2/vendored/test/cases/true.json +0 -1
  174. data/ext/libyajl2/vendored/test/cases/true.json.gold +0 -2
  175. data/ext/libyajl2/vendored/test/cases/unescaped_bulgarian.json +0 -1
  176. data/ext/libyajl2/vendored/test/cases/unescaped_bulgarian.json.gold +0 -4
  177. data/ext/libyajl2/vendored/test/cases/zerobyte.json +0 -1
  178. data/ext/libyajl2/vendored/test/cases/zerobyte.json.gold +0 -0
  179. data/ext/libyajl2/vendored/test/run_tests.sh +0 -94
  180. data/ext/libyajl2/vendored/test/yajl_test.c +0 -281
  181. data/ext/libyajl2/vendored/verify/CMakeLists.txt +0 -39
  182. data/ext/libyajl2/vendored/verify/json_verify.c +0 -116
  183. data/lib/libyajl.so +0 -0
  184. data/lib/libyajl.so.2 +0 -0
  185. data/lib/libyajl.so.2.0.5 +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6db17afb2b6e0f4b0e3fd8a5c12a0903e12b6228
4
- data.tar.gz: 71a662f04d7ee86d22ad701ff644ee485f38a44a
3
+ metadata.gz: a82a3a5ac433463f78e468ed4f6f12d57047e847
4
+ data.tar.gz: ac9aa998c59d3e92ea1b69a2eb2dc8370c189deb
5
5
  SHA512:
6
- metadata.gz: a1f182c504a04630453b4bc57b600092dcf557cd162ca58a4b86470ab81162646f5220db28d17a814f040257e6208c8a1597653db60dee931d692cb035617431
7
- data.tar.gz: 0bfeb7afa16ee40a2effd45be604dbf2b3099c2a43546fadb81d0978c47959b61fcf19b096a51f5f55878b11154e9f412cd377cbbad78d169a1c690ebd323f2a
6
+ metadata.gz: b802c373b6b67a0388510095a47ee937c9b040646f17895e87138d5ddca85a9a8c18f6c3d552bbfebeaa7b6c44c570e7ec61be62dccedef008cc5bda16d4ca18
7
+ data.tar.gz: 51ab0c3759c595ed85df07141a729edaa96c8d63f7bf016aa5c1cd2f7cf5e7e74de91d43419ae1872b2970e84e320d466654da2ef1db76c1af06767d663105c2
data/README.md CHANGED
@@ -3,7 +3,6 @@
3
3
 
4
4
  ## TODO
5
5
 
6
- - switching from curling yajl2 sources to using git submodule
7
6
  - test both ffi and ext on platforms that support both (MRI, rbx)
8
7
 
9
8
  ## BUILD NOTES
@@ -197,7 +197,6 @@ static VALUE rb_cFloat_ffi_yajl(VALUE self, VALUE yajl_gen, VALUE state) {
197
197
  return Qnil;
198
198
  }
199
199
 
200
-
201
200
  static VALUE rb_cString_ffi_yajl(VALUE self, VALUE yajl_gen, VALUE state) {
202
201
  yajl_gen_status status;
203
202
  CHECK_STATUS(
@@ -206,6 +205,18 @@ static VALUE rb_cString_ffi_yajl(VALUE self, VALUE yajl_gen, VALUE state) {
206
205
  return Qnil;
207
206
  }
208
207
 
208
+ static VALUE rb_cSymbol_ffi_yajl(VALUE self, VALUE yajl_gen, VALUE state) {
209
+ yajl_gen_status status;
210
+ ID sym_to_s = rb_intern("to_s");
211
+ VALUE str = rb_funcall(self, sym_to_s, 0);
212
+ char *cptr = RSTRING_PTR(str);
213
+ int len = RSTRING_LEN(str);
214
+ CHECK_STATUS(
215
+ yajl_gen_string((struct yajl_gen_t *) yajl_gen, (unsigned char *)cptr, len)
216
+ );
217
+ return Qnil;
218
+ }
219
+
209
220
  static VALUE rb_cObject_ffi_yajl(VALUE self, VALUE yajl_gen, VALUE state) {
210
221
  yajl_gen_status status;
211
222
  ID sym_to_json = rb_intern("to_json");
@@ -235,6 +246,7 @@ void Init_encoder() {
235
246
  rb_define_method(rb_cBignum, "ffi_yajl", rb_cBignum_ffi_yajl, 2);
236
247
  rb_define_method(rb_cFloat, "ffi_yajl", rb_cFloat_ffi_yajl, 2);
237
248
  rb_define_method(rb_cString, "ffi_yajl", rb_cString_ffi_yajl, 2);
249
+ rb_define_method(rb_cSymbol, "ffi_yajl", rb_cSymbol_ffi_yajl, 2);
238
250
  rb_define_method(rb_cObject, "ffi_yajl", rb_cObject_ffi_yajl, 2);
239
251
  }
240
252
 
Binary file
Binary file
@@ -44,11 +44,6 @@ else
44
44
  ENV['CFLAGS'] = cflags
45
45
  ENV['LDFLAGS'] = ldflags
46
46
  ENV['CC'] = cc
47
- unless File.exists?("vendored")
48
- system("pwd")
49
- puts "FOOOOOOOO: #{__FILE__}"
50
- system("ls -lad #{File.expand_path(File.join(File.dirname(__FILE__), "vendored"))}")
51
- end
52
47
  system("cp -rf #{File.expand_path(File.join(File.dirname(__FILE__), "vendored"))} .") unless File.exists?("vendored")
53
48
 
54
49
  File.open("Makefile", "w") do |mf|
@@ -0,0 +1,63 @@
1
+ have_library: checking for yajl_complete_parse() in -lyajl... -------------------- no
2
+
3
+ "/usr/bin/clang -o conftest -I/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.4.0 -I/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/backward -I/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -O3 -march=nocona -O2 -pipe -fno-common -Wall conftest.c -L. -L/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -lruby.2.0.0 -lpthread -ldl -lobjc "
4
+ checked program was:
5
+ /* begin */
6
+ 1: #include "ruby.h"
7
+ 2:
8
+ 3: int main(int argc, char **argv)
9
+ 4: {
10
+ 5: return 0;
11
+ 6: }
12
+ /* end */
13
+
14
+ "/usr/bin/clang -o conftest -I/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.4.0 -I/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/backward -I/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -O3 -march=nocona -O2 -pipe -fno-common -Wall conftest.c -L. -L/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -lruby.2.0.0 -lyajl -lpthread -ldl -lobjc "
15
+ conftest.c:3:10: fatal error: 'yajl/yajl_parse.h' file not found
16
+ #include <yajl/yajl_parse.h>
17
+ ^
18
+ 1 error generated.
19
+ checked program was:
20
+ /* begin */
21
+ 1: #include "ruby.h"
22
+ 2:
23
+ 3: #include <yajl/yajl_parse.h>
24
+ 4:
25
+ 5: /*top*/
26
+ 6: extern int t(void);
27
+ 7: int t(void) { void ((*volatile p)()); p = (void ((*)()))yajl_complete_parse; return 0; }
28
+ 8: int main(int argc, char **argv)
29
+ 9: {
30
+ 10: if (argc > 1000000) {
31
+ 11: printf("%p", &t);
32
+ 12: }
33
+ 13:
34
+ 14: return 0;
35
+ 15: }
36
+ /* end */
37
+
38
+ "/usr/bin/clang -o conftest -I/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/x86_64-darwin12.4.0 -I/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0/ruby/backward -I/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/include/ruby-2.0.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -O3 -march=nocona -O2 -pipe -fno-common -Wall conftest.c -L. -L/Users/lamont/.rvm/rubies/ruby-2.0.0-p247/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -lruby.2.0.0 -lyajl -lpthread -ldl -lobjc "
39
+ conftest.c:3:10: fatal error: 'yajl/yajl_parse.h' file not found
40
+ #include <yajl/yajl_parse.h>
41
+ ^
42
+ 1 error generated.
43
+ checked program was:
44
+ /* begin */
45
+ 1: #include "ruby.h"
46
+ 2:
47
+ 3: #include <yajl/yajl_parse.h>
48
+ 4:
49
+ 5: /*top*/
50
+ 6: extern int t(void);
51
+ 7: int t(void) { yajl_complete_parse(); return 0; }
52
+ 8: int main(int argc, char **argv)
53
+ 9: {
54
+ 10: if (argc > 1000000) {
55
+ 11: printf("%p", &t);
56
+ 12: }
57
+ 13:
58
+ 14: return 0;
59
+ 15: }
60
+ /* end */
61
+
62
+ --------------------
63
+
@@ -155,6 +155,15 @@ class Float
155
155
  end
156
156
  end
157
157
 
158
+ class Symbol
159
+ def ffi_yajl(yajl_gen, state)
160
+ str = self.to_s
161
+ if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
162
+ FFI_Yajl::Encoder.raise_error_for_status(status)
163
+ end
164
+ end
165
+ end
166
+
158
167
  class String
159
168
  def ffi_yajl(yajl_gen, state)
160
169
  if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, self, self.bytesize) ) != 0
@@ -1,3 +1,3 @@
1
1
  module FFI_Yajl
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
Binary file
Binary file
data/lib/libyajl.dylib ADDED
Binary file
data/lib/libyajl_s.a CHANGED
Binary file
@@ -35,5 +35,15 @@ describe "FFI_Yajl::Encoder" do
35
35
  127.times {|_| a["a"] = {}; a = a["a"] }
36
36
  expect{ encoder.encode(root) }.to raise_error(FFI_Yajl::EncodeError)
37
37
  end
38
+
39
+ it "encodes symbols in keys as strings" do
40
+ ruby = {:thing => 1}
41
+ expect(encoder.encode(ruby)).to eq('{"thing":1}')
42
+ end
43
+
44
+ it "encodes symbols in values as strings" do
45
+ ruby = {"thing" => :one}
46
+ expect(encoder.encode(ruby)).to eq('{"thing":"one"}')
47
+ end
38
48
  end
39
49
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-yajl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: universal-java
6
6
  authors:
7
7
  - Lamont Granquist
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-09 00:00:00.000000000 Z
11
+ date: 2014-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -94,177 +94,16 @@ files:
94
94
  - README.md
95
95
  - Rakefile
96
96
  - bin/ffi-yajl-bench
97
+ - ext/ffi_yajl/ext/encoder/encoder.bundle
97
98
  - ext/ffi_yajl/ext/encoder/encoder.c
99
+ - ext/ffi_yajl/ext/encoder/encoder.o
98
100
  - ext/ffi_yajl/ext/encoder/extconf.rb
99
101
  - ext/ffi_yajl/ext/parser/extconf.rb
102
+ - ext/ffi_yajl/ext/parser/parser.bundle
100
103
  - ext/ffi_yajl/ext/parser/parser.c
104
+ - ext/ffi_yajl/ext/parser/parser.o
101
105
  - ext/libyajl2/extconf.rb
102
- - ext/libyajl2/vendored/.git
103
- - ext/libyajl2/vendored/.gitignore
104
- - ext/libyajl2/vendored/BUILDING
105
- - ext/libyajl2/vendored/BUILDING.win32
106
- - ext/libyajl2/vendored/CMakeLists.txt
107
- - ext/libyajl2/vendored/COPYING
108
- - ext/libyajl2/vendored/ChangeLog
109
- - ext/libyajl2/vendored/README
110
- - ext/libyajl2/vendored/TODO
111
- - ext/libyajl2/vendored/YAJLDoc.cmake
112
- - ext/libyajl2/vendored/configure
113
- - ext/libyajl2/vendored/example/CMakeLists.txt
114
- - ext/libyajl2/vendored/example/README.md
115
- - ext/libyajl2/vendored/example/parse_config.c
116
- - ext/libyajl2/vendored/example/sample.config
117
- - ext/libyajl2/vendored/perf/CMakeLists.txt
118
- - ext/libyajl2/vendored/perf/documents.c
119
- - ext/libyajl2/vendored/perf/documents.h
120
- - ext/libyajl2/vendored/perf/perftest.c
121
- - ext/libyajl2/vendored/reformatter/CMakeLists.txt
122
- - ext/libyajl2/vendored/reformatter/json_reformat.c
123
- - ext/libyajl2/vendored/src/CMakeLists.txt
124
- - ext/libyajl2/vendored/src/YAJL.dxy
125
- - ext/libyajl2/vendored/src/api/yajl_common.h
126
- - ext/libyajl2/vendored/src/api/yajl_gen.h
127
- - ext/libyajl2/vendored/src/api/yajl_parse.h
128
- - ext/libyajl2/vendored/src/api/yajl_tree.h
129
- - ext/libyajl2/vendored/src/api/yajl_version.h.cmake
130
- - ext/libyajl2/vendored/src/yajl
131
- - ext/libyajl2/vendored/src/yajl.c
132
- - ext/libyajl2/vendored/src/yajl.pc.cmake
133
- - ext/libyajl2/vendored/src/yajl_alloc.c
134
- - ext/libyajl2/vendored/src/yajl_alloc.h
135
- - ext/libyajl2/vendored/src/yajl_buf.c
136
- - ext/libyajl2/vendored/src/yajl_buf.h
137
- - ext/libyajl2/vendored/src/yajl_bytestack.h
138
- - ext/libyajl2/vendored/src/yajl_encode.c
139
- - ext/libyajl2/vendored/src/yajl_encode.h
140
- - ext/libyajl2/vendored/src/yajl_gen.c
141
- - ext/libyajl2/vendored/src/yajl_lex.c
142
- - ext/libyajl2/vendored/src/yajl_lex.h
143
- - ext/libyajl2/vendored/src/yajl_parser.c
144
- - ext/libyajl2/vendored/src/yajl_parser.h
145
- - ext/libyajl2/vendored/src/yajl_tree.c
146
- - ext/libyajl2/vendored/src/yajl_version.c
147
- - ext/libyajl2/vendored/test/CMakeLists.txt
148
- - ext/libyajl2/vendored/test/cases/ac_difficult_json_c_test_case_with_comments.json
149
- - ext/libyajl2/vendored/test/cases/ac_difficult_json_c_test_case_with_comments.json.gold
150
- - ext/libyajl2/vendored/test/cases/ac_simple_with_comments.json
151
- - ext/libyajl2/vendored/test/cases/ac_simple_with_comments.json.gold
152
- - ext/libyajl2/vendored/test/cases/ag_false_then_garbage.json
153
- - ext/libyajl2/vendored/test/cases/ag_false_then_garbage.json.gold
154
- - ext/libyajl2/vendored/test/cases/ag_null_then_garbage.json
155
- - ext/libyajl2/vendored/test/cases/ag_null_then_garbage.json.gold
156
- - ext/libyajl2/vendored/test/cases/ag_true_then_garbage.json
157
- - ext/libyajl2/vendored/test/cases/ag_true_then_garbage.json.gold
158
- - ext/libyajl2/vendored/test/cases/am_eof.json
159
- - ext/libyajl2/vendored/test/cases/am_eof.json.gold
160
- - ext/libyajl2/vendored/test/cases/am_integers.json
161
- - ext/libyajl2/vendored/test/cases/am_integers.json.gold
162
- - ext/libyajl2/vendored/test/cases/am_multiple.json
163
- - ext/libyajl2/vendored/test/cases/am_multiple.json.gold
164
- - ext/libyajl2/vendored/test/cases/am_stuff.json
165
- - ext/libyajl2/vendored/test/cases/am_stuff.json.gold
166
- - ext/libyajl2/vendored/test/cases/ap_array_open.json
167
- - ext/libyajl2/vendored/test/cases/ap_array_open.json.gold
168
- - ext/libyajl2/vendored/test/cases/ap_eof_str.json
169
- - ext/libyajl2/vendored/test/cases/ap_eof_str.json.gold
170
- - ext/libyajl2/vendored/test/cases/ap_map_open.json
171
- - ext/libyajl2/vendored/test/cases/ap_map_open.json.gold
172
- - ext/libyajl2/vendored/test/cases/ap_partial_ok.json
173
- - ext/libyajl2/vendored/test/cases/ap_partial_ok.json.gold
174
- - ext/libyajl2/vendored/test/cases/array.json
175
- - ext/libyajl2/vendored/test/cases/array.json.gold
176
- - ext/libyajl2/vendored/test/cases/array_close.json
177
- - ext/libyajl2/vendored/test/cases/array_close.json.gold
178
- - ext/libyajl2/vendored/test/cases/bignums.json
179
- - ext/libyajl2/vendored/test/cases/bignums.json.gold
180
- - ext/libyajl2/vendored/test/cases/bogus_char.json
181
- - ext/libyajl2/vendored/test/cases/bogus_char.json.gold
182
- - ext/libyajl2/vendored/test/cases/codepoints_from_unicode_org.json
183
- - ext/libyajl2/vendored/test/cases/codepoints_from_unicode_org.json.gold
184
- - ext/libyajl2/vendored/test/cases/deep_arrays.json
185
- - ext/libyajl2/vendored/test/cases/deep_arrays.json.gold
186
- - ext/libyajl2/vendored/test/cases/difficult_json_c_test_case.json
187
- - ext/libyajl2/vendored/test/cases/difficult_json_c_test_case.json.gold
188
- - ext/libyajl2/vendored/test/cases/doubles.json
189
- - ext/libyajl2/vendored/test/cases/doubles.json.gold
190
- - ext/libyajl2/vendored/test/cases/doubles_in_array.json
191
- - ext/libyajl2/vendored/test/cases/doubles_in_array.json.gold
192
- - ext/libyajl2/vendored/test/cases/empty_array.json
193
- - ext/libyajl2/vendored/test/cases/empty_array.json.gold
194
- - ext/libyajl2/vendored/test/cases/empty_string.json
195
- - ext/libyajl2/vendored/test/cases/empty_string.json.gold
196
- - ext/libyajl2/vendored/test/cases/escaped_bulgarian.json
197
- - ext/libyajl2/vendored/test/cases/escaped_bulgarian.json.gold
198
- - ext/libyajl2/vendored/test/cases/escaped_foobar.json
199
- - ext/libyajl2/vendored/test/cases/escaped_foobar.json.gold
200
- - ext/libyajl2/vendored/test/cases/false.json
201
- - ext/libyajl2/vendored/test/cases/false.json.gold
202
- - ext/libyajl2/vendored/test/cases/fg_false_then_garbage.json
203
- - ext/libyajl2/vendored/test/cases/fg_false_then_garbage.json.gold
204
- - ext/libyajl2/vendored/test/cases/fg_issue_7.json
205
- - ext/libyajl2/vendored/test/cases/fg_issue_7.json.gold
206
- - ext/libyajl2/vendored/test/cases/fg_null_then_garbage.json
207
- - ext/libyajl2/vendored/test/cases/fg_null_then_garbage.json.gold
208
- - ext/libyajl2/vendored/test/cases/fg_true_then_garbage.json
209
- - ext/libyajl2/vendored/test/cases/fg_true_then_garbage.json.gold
210
- - ext/libyajl2/vendored/test/cases/four_byte_utf8.json
211
- - ext/libyajl2/vendored/test/cases/four_byte_utf8.json.gold
212
- - ext/libyajl2/vendored/test/cases/high_overflow.json
213
- - ext/libyajl2/vendored/test/cases/high_overflow.json.gold
214
- - ext/libyajl2/vendored/test/cases/integers.json
215
- - ext/libyajl2/vendored/test/cases/integers.json.gold
216
- - ext/libyajl2/vendored/test/cases/invalid_utf8.json
217
- - ext/libyajl2/vendored/test/cases/invalid_utf8.json.gold
218
- - ext/libyajl2/vendored/test/cases/isolated_surrogate_marker.json
219
- - ext/libyajl2/vendored/test/cases/isolated_surrogate_marker.json.gold
220
- - ext/libyajl2/vendored/test/cases/leading_zero_in_number.json
221
- - ext/libyajl2/vendored/test/cases/leading_zero_in_number.json.gold
222
- - ext/libyajl2/vendored/test/cases/lonely_minus_sign.json
223
- - ext/libyajl2/vendored/test/cases/lonely_minus_sign.json.gold
224
- - ext/libyajl2/vendored/test/cases/lonely_number.json
225
- - ext/libyajl2/vendored/test/cases/lonely_number.json.gold
226
- - ext/libyajl2/vendored/test/cases/low_overflow.json
227
- - ext/libyajl2/vendored/test/cases/low_overflow.json.gold
228
- - ext/libyajl2/vendored/test/cases/map_close.json
229
- - ext/libyajl2/vendored/test/cases/map_close.json.gold
230
- - ext/libyajl2/vendored/test/cases/missing_integer_after_decimal_point.json
231
- - ext/libyajl2/vendored/test/cases/missing_integer_after_decimal_point.json.gold
232
- - ext/libyajl2/vendored/test/cases/missing_integer_after_exponent.json
233
- - ext/libyajl2/vendored/test/cases/missing_integer_after_exponent.json.gold
234
- - ext/libyajl2/vendored/test/cases/multiple.json
235
- - ext/libyajl2/vendored/test/cases/multiple.json.gold
236
- - ext/libyajl2/vendored/test/cases/non_utf8_char_in_string.json
237
- - ext/libyajl2/vendored/test/cases/non_utf8_char_in_string.json.gold
238
- - ext/libyajl2/vendored/test/cases/np_partial_bad.json
239
- - ext/libyajl2/vendored/test/cases/np_partial_bad.json.gold
240
- - ext/libyajl2/vendored/test/cases/null.json
241
- - ext/libyajl2/vendored/test/cases/null.json.gold
242
- - ext/libyajl2/vendored/test/cases/nulls_and_bools.json
243
- - ext/libyajl2/vendored/test/cases/nulls_and_bools.json.gold
244
- - ext/libyajl2/vendored/test/cases/simple.json
245
- - ext/libyajl2/vendored/test/cases/simple.json.gold
246
- - ext/libyajl2/vendored/test/cases/simple_with_comments.json
247
- - ext/libyajl2/vendored/test/cases/simple_with_comments.json.gold
248
- - ext/libyajl2/vendored/test/cases/string_invalid_escape.json
249
- - ext/libyajl2/vendored/test/cases/string_invalid_escape.json.gold
250
- - ext/libyajl2/vendored/test/cases/string_invalid_hex_char.json
251
- - ext/libyajl2/vendored/test/cases/string_invalid_hex_char.json.gold
252
- - ext/libyajl2/vendored/test/cases/string_with_escapes.json
253
- - ext/libyajl2/vendored/test/cases/string_with_escapes.json.gold
254
- - ext/libyajl2/vendored/test/cases/string_with_invalid_newline.json
255
- - ext/libyajl2/vendored/test/cases/string_with_invalid_newline.json.gold
256
- - ext/libyajl2/vendored/test/cases/three_byte_utf8.json
257
- - ext/libyajl2/vendored/test/cases/three_byte_utf8.json.gold
258
- - ext/libyajl2/vendored/test/cases/true.json
259
- - ext/libyajl2/vendored/test/cases/true.json.gold
260
- - ext/libyajl2/vendored/test/cases/unescaped_bulgarian.json
261
- - ext/libyajl2/vendored/test/cases/unescaped_bulgarian.json.gold
262
- - ext/libyajl2/vendored/test/cases/zerobyte.json
263
- - ext/libyajl2/vendored/test/cases/zerobyte.json.gold
264
- - ext/libyajl2/vendored/test/run_tests.sh
265
- - ext/libyajl2/vendored/test/yajl_test.c
266
- - ext/libyajl2/vendored/verify/CMakeLists.txt
267
- - ext/libyajl2/vendored/verify/json_verify.c
106
+ - ext/libyajl2/mkmf.log
268
107
  - lib/ffi_yajl.rb
269
108
  - lib/ffi_yajl/benchmark.rb
270
109
  - lib/ffi_yajl/benchmark/MIT-LICENSE
@@ -295,9 +134,9 @@ files:
295
134
  - lib/ffi_yajl/json_gem.rb
296
135
  - lib/ffi_yajl/parser.rb
297
136
  - lib/ffi_yajl/version.rb
298
- - lib/libyajl.so
299
- - lib/libyajl.so.2
300
- - lib/libyajl.so.2.0.5
137
+ - lib/libyajl.2.0.1.dylib
138
+ - lib/libyajl.2.dylib
139
+ - lib/libyajl.dylib
301
140
  - lib/libyajl_s.a
302
141
  - spec/ffi_yajl/encoder_spec.rb
303
142
  - spec/ffi_yajl/json_gem_spec.rb
@@ -1,3 +0,0 @@
1
- .DS_Store
2
- Makefile
3
- /build/
@@ -1,23 +0,0 @@
1
- Short story (If you already have ruby and cmake):
2
-
3
- ./configure && make install
4
-
5
- When things go wrong:
6
-
7
- attain CMake (http://www.cmake.org) and ruby (http://ruby-lang.org) and
8
- try again.
9
-
10
- OR, attain CMake and build by hand:
11
-
12
- 1. mkdir build
13
- 2. cd build
14
- 3. cmake ..
15
- 4. make
16
- 5. build output left in yajl-X.Y.Z
17
-
18
- NOTE: for 64-bit systems where lib64 is used you can pass the cmake
19
- variable LIB_SUFFIX to cause installation into the system's 'lib64'
20
- directory.
21
-
22
- best,
23
- lloyd
@@ -1,27 +0,0 @@
1
- YAJL has been successfully built using Visual Studio 8. CMake, a
2
- build file generator, is used to build the software. CMake supports
3
- several different build environments, so you may either build YAJL
4
- using the IDE via the following steps:
5
-
6
- 1. acquire cmake (http://www.cmake.org)
7
- 2. mkdir build
8
- 3. cd build
9
- 4. cmake ..
10
- 5. devenv YetAnotherJSONParser.sln /project ALL_BUILD /build Release
11
- 6. build output is left in build/yajl-X.Y.Z
12
-
13
- Or you can build from the command line using nmake:
14
-
15
- 1. Click Start > Programs > Microsoft Visual Studio > Visual Studio
16
- Tools > Visual Studio Command Prompt -- for your version of Visual
17
- Studio, which will open a command prompt. You may verify that the
18
- compiler is in your path by typing "cl /?" at the prompt.
19
- 2. cd C:\path\to\yajl\source\
20
- 3. mkdir build
21
- 4. cd build
22
- 5. cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ..
23
- 6. nmake
24
- 7. nmake install
25
-
26
- Earlier versions of visual studio and other build generators haven't
27
- been thoroughly tested, but should work without any major issues.