ffi-yajl 0.0.1-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 (214) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/README.md +17 -0
  4. data/Rakefile +62 -0
  5. data/bin/ffi-yajl-bench +36 -0
  6. data/ext/ffi_yajl/ext/encoder/encoder.c +240 -0
  7. data/ext/ffi_yajl/ext/encoder/extconf.rb +29 -0
  8. data/ext/ffi_yajl/ext/parser/extconf.rb +29 -0
  9. data/ext/ffi_yajl/ext/parser/parser.c +199 -0
  10. data/ext/libyajl2/extconf.rb +65 -0
  11. data/ext/libyajl2/vendored/.gitignore +3 -0
  12. data/ext/libyajl2/vendored/BUILDING +23 -0
  13. data/ext/libyajl2/vendored/BUILDING.win32 +27 -0
  14. data/ext/libyajl2/vendored/CMakeLists.txt +79 -0
  15. data/ext/libyajl2/vendored/COPYING +13 -0
  16. data/ext/libyajl2/vendored/ChangeLog +175 -0
  17. data/ext/libyajl2/vendored/README +74 -0
  18. data/ext/libyajl2/vendored/TODO +9 -0
  19. data/ext/libyajl2/vendored/YAJLDoc.cmake +26 -0
  20. data/ext/libyajl2/vendored/configure +79 -0
  21. data/ext/libyajl2/vendored/example/CMakeLists.txt +23 -0
  22. data/ext/libyajl2/vendored/example/README.md +7 -0
  23. data/ext/libyajl2/vendored/example/parse_config.c +69 -0
  24. data/ext/libyajl2/vendored/example/sample.config +101 -0
  25. data/ext/libyajl2/vendored/perf/CMakeLists.txt +23 -0
  26. data/ext/libyajl2/vendored/perf/documents.c +1418 -0
  27. data/ext/libyajl2/vendored/perf/documents.h +28 -0
  28. data/ext/libyajl2/vendored/perf/perftest.c +134 -0
  29. data/ext/libyajl2/vendored/reformatter/CMakeLists.txt +39 -0
  30. data/ext/libyajl2/vendored/reformatter/json_reformat.c +194 -0
  31. data/ext/libyajl2/vendored/src/CMakeLists.txt +86 -0
  32. data/ext/libyajl2/vendored/src/YAJL.dxy +1258 -0
  33. data/ext/libyajl2/vendored/src/api/yajl_common.h +75 -0
  34. data/ext/libyajl2/vendored/src/api/yajl_gen.h +157 -0
  35. data/ext/libyajl2/vendored/src/api/yajl_parse.h +226 -0
  36. data/ext/libyajl2/vendored/src/api/yajl_tree.h +185 -0
  37. data/ext/libyajl2/vendored/src/api/yajl_version.h.cmake +23 -0
  38. data/ext/libyajl2/vendored/src/yajl +33 -0
  39. data/ext/libyajl2/vendored/src/yajl.c +175 -0
  40. data/ext/libyajl2/vendored/src/yajl.pc.cmake +9 -0
  41. data/ext/libyajl2/vendored/src/yajl_alloc.c +52 -0
  42. data/ext/libyajl2/vendored/src/yajl_alloc.h +34 -0
  43. data/ext/libyajl2/vendored/src/yajl_buf.c +103 -0
  44. data/ext/libyajl2/vendored/src/yajl_buf.h +57 -0
  45. data/ext/libyajl2/vendored/src/yajl_bytestack.h +69 -0
  46. data/ext/libyajl2/vendored/src/yajl_encode.c +220 -0
  47. data/ext/libyajl2/vendored/src/yajl_encode.h +34 -0
  48. data/ext/libyajl2/vendored/src/yajl_gen.c +354 -0
  49. data/ext/libyajl2/vendored/src/yajl_lex.c +763 -0
  50. data/ext/libyajl2/vendored/src/yajl_lex.h +117 -0
  51. data/ext/libyajl2/vendored/src/yajl_parser.c +498 -0
  52. data/ext/libyajl2/vendored/src/yajl_parser.h +78 -0
  53. data/ext/libyajl2/vendored/src/yajl_tree.c +503 -0
  54. data/ext/libyajl2/vendored/src/yajl_version.c +7 -0
  55. data/ext/libyajl2/vendored/test/CMakeLists.txt +23 -0
  56. data/ext/libyajl2/vendored/test/cases/ac_difficult_json_c_test_case_with_comments.json +1 -0
  57. data/ext/libyajl2/vendored/test/cases/ac_difficult_json_c_test_case_with_comments.json.gold +36 -0
  58. data/ext/libyajl2/vendored/test/cases/ac_simple_with_comments.json +11 -0
  59. data/ext/libyajl2/vendored/test/cases/ac_simple_with_comments.json.gold +9 -0
  60. data/ext/libyajl2/vendored/test/cases/ag_false_then_garbage.json +1 -0
  61. data/ext/libyajl2/vendored/test/cases/ag_false_then_garbage.json.gold +2 -0
  62. data/ext/libyajl2/vendored/test/cases/ag_null_then_garbage.json +1 -0
  63. data/ext/libyajl2/vendored/test/cases/ag_null_then_garbage.json.gold +2 -0
  64. data/ext/libyajl2/vendored/test/cases/ag_true_then_garbage.json +1 -0
  65. data/ext/libyajl2/vendored/test/cases/ag_true_then_garbage.json.gold +2 -0
  66. data/ext/libyajl2/vendored/test/cases/am_eof.json +1 -0
  67. data/ext/libyajl2/vendored/test/cases/am_eof.json.gold +4 -0
  68. data/ext/libyajl2/vendored/test/cases/am_integers.json +1 -0
  69. data/ext/libyajl2/vendored/test/cases/am_integers.json.gold +3 -0
  70. data/ext/libyajl2/vendored/test/cases/am_multiple.json +3 -0
  71. data/ext/libyajl2/vendored/test/cases/am_multiple.json.gold +5 -0
  72. data/ext/libyajl2/vendored/test/cases/am_stuff.json +7 -0
  73. data/ext/libyajl2/vendored/test/cases/am_stuff.json.gold +14 -0
  74. data/ext/libyajl2/vendored/test/cases/ap_array_open.json +1 -0
  75. data/ext/libyajl2/vendored/test/cases/ap_array_open.json.gold +2 -0
  76. data/ext/libyajl2/vendored/test/cases/ap_eof_str.json +1 -0
  77. data/ext/libyajl2/vendored/test/cases/ap_eof_str.json.gold +1 -0
  78. data/ext/libyajl2/vendored/test/cases/ap_map_open.json +1 -0
  79. data/ext/libyajl2/vendored/test/cases/ap_map_open.json.gold +2 -0
  80. data/ext/libyajl2/vendored/test/cases/ap_partial_ok.json +1 -0
  81. data/ext/libyajl2/vendored/test/cases/ap_partial_ok.json.gold +4 -0
  82. data/ext/libyajl2/vendored/test/cases/array.json +6 -0
  83. data/ext/libyajl2/vendored/test/cases/array.json.gold +22 -0
  84. data/ext/libyajl2/vendored/test/cases/array_close.json +1 -0
  85. data/ext/libyajl2/vendored/test/cases/array_close.json.gold +2 -0
  86. data/ext/libyajl2/vendored/test/cases/bignums.json +1 -0
  87. data/ext/libyajl2/vendored/test/cases/bignums.json.gold +5 -0
  88. data/ext/libyajl2/vendored/test/cases/bogus_char.json +4 -0
  89. data/ext/libyajl2/vendored/test/cases/bogus_char.json.gold +10 -0
  90. data/ext/libyajl2/vendored/test/cases/codepoints_from_unicode_org.json +1 -0
  91. data/ext/libyajl2/vendored/test/cases/codepoints_from_unicode_org.json.gold +2 -0
  92. data/ext/libyajl2/vendored/test/cases/deep_arrays.json +1 -0
  93. data/ext/libyajl2/vendored/test/cases/deep_arrays.json.gold +2049 -0
  94. data/ext/libyajl2/vendored/test/cases/difficult_json_c_test_case.json +1 -0
  95. data/ext/libyajl2/vendored/test/cases/difficult_json_c_test_case.json.gold +36 -0
  96. data/ext/libyajl2/vendored/test/cases/doubles.json +1 -0
  97. data/ext/libyajl2/vendored/test/cases/doubles.json.gold +7 -0
  98. data/ext/libyajl2/vendored/test/cases/doubles_in_array.json +1 -0
  99. data/ext/libyajl2/vendored/test/cases/doubles_in_array.json.gold +8 -0
  100. data/ext/libyajl2/vendored/test/cases/empty_array.json +1 -0
  101. data/ext/libyajl2/vendored/test/cases/empty_array.json.gold +3 -0
  102. data/ext/libyajl2/vendored/test/cases/empty_string.json +1 -0
  103. data/ext/libyajl2/vendored/test/cases/empty_string.json.gold +2 -0
  104. data/ext/libyajl2/vendored/test/cases/escaped_bulgarian.json +4 -0
  105. data/ext/libyajl2/vendored/test/cases/escaped_bulgarian.json.gold +7 -0
  106. data/ext/libyajl2/vendored/test/cases/escaped_foobar.json +1 -0
  107. data/ext/libyajl2/vendored/test/cases/escaped_foobar.json.gold +2 -0
  108. data/ext/libyajl2/vendored/test/cases/false.json +1 -0
  109. data/ext/libyajl2/vendored/test/cases/false.json.gold +2 -0
  110. data/ext/libyajl2/vendored/test/cases/fg_false_then_garbage.json +1 -0
  111. data/ext/libyajl2/vendored/test/cases/fg_false_then_garbage.json.gold +3 -0
  112. data/ext/libyajl2/vendored/test/cases/fg_issue_7.json +1 -0
  113. data/ext/libyajl2/vendored/test/cases/fg_issue_7.json.gold +3 -0
  114. data/ext/libyajl2/vendored/test/cases/fg_null_then_garbage.json +1 -0
  115. data/ext/libyajl2/vendored/test/cases/fg_null_then_garbage.json.gold +3 -0
  116. data/ext/libyajl2/vendored/test/cases/fg_true_then_garbage.json +1 -0
  117. data/ext/libyajl2/vendored/test/cases/fg_true_then_garbage.json.gold +3 -0
  118. data/ext/libyajl2/vendored/test/cases/four_byte_utf8.json +2 -0
  119. data/ext/libyajl2/vendored/test/cases/four_byte_utf8.json.gold +5 -0
  120. data/ext/libyajl2/vendored/test/cases/high_overflow.json +1 -0
  121. data/ext/libyajl2/vendored/test/cases/high_overflow.json.gold +2 -0
  122. data/ext/libyajl2/vendored/test/cases/integers.json +3 -0
  123. data/ext/libyajl2/vendored/test/cases/integers.json.gold +14 -0
  124. data/ext/libyajl2/vendored/test/cases/invalid_utf8.json +1 -0
  125. data/ext/libyajl2/vendored/test/cases/invalid_utf8.json.gold +3 -0
  126. data/ext/libyajl2/vendored/test/cases/isolated_surrogate_marker.json +1 -0
  127. data/ext/libyajl2/vendored/test/cases/isolated_surrogate_marker.json.gold +2 -0
  128. data/ext/libyajl2/vendored/test/cases/leading_zero_in_number.json +1 -0
  129. data/ext/libyajl2/vendored/test/cases/leading_zero_in_number.json.gold +5 -0
  130. data/ext/libyajl2/vendored/test/cases/lonely_minus_sign.json +7 -0
  131. data/ext/libyajl2/vendored/test/cases/lonely_minus_sign.json.gold +9 -0
  132. data/ext/libyajl2/vendored/test/cases/lonely_number.json +1 -0
  133. data/ext/libyajl2/vendored/test/cases/lonely_number.json.gold +2 -0
  134. data/ext/libyajl2/vendored/test/cases/low_overflow.json +1 -0
  135. data/ext/libyajl2/vendored/test/cases/low_overflow.json.gold +2 -0
  136. data/ext/libyajl2/vendored/test/cases/map_close.json +1 -0
  137. data/ext/libyajl2/vendored/test/cases/map_close.json.gold +2 -0
  138. data/ext/libyajl2/vendored/test/cases/missing_integer_after_decimal_point.json +1 -0
  139. data/ext/libyajl2/vendored/test/cases/missing_integer_after_decimal_point.json.gold +2 -0
  140. data/ext/libyajl2/vendored/test/cases/missing_integer_after_exponent.json +1 -0
  141. data/ext/libyajl2/vendored/test/cases/missing_integer_after_exponent.json.gold +2 -0
  142. data/ext/libyajl2/vendored/test/cases/multiple.json +3 -0
  143. data/ext/libyajl2/vendored/test/cases/multiple.json.gold +4 -0
  144. data/ext/libyajl2/vendored/test/cases/non_utf8_char_in_string.json +1 -0
  145. data/ext/libyajl2/vendored/test/cases/non_utf8_char_in_string.json.gold +8 -0
  146. data/ext/libyajl2/vendored/test/cases/np_partial_bad.json +1 -0
  147. data/ext/libyajl2/vendored/test/cases/np_partial_bad.json.gold +5 -0
  148. data/ext/libyajl2/vendored/test/cases/null.json +1 -0
  149. data/ext/libyajl2/vendored/test/cases/null.json.gold +2 -0
  150. data/ext/libyajl2/vendored/test/cases/nulls_and_bools.json +5 -0
  151. data/ext/libyajl2/vendored/test/cases/nulls_and_bools.json.gold +9 -0
  152. data/ext/libyajl2/vendored/test/cases/simple.json +5 -0
  153. data/ext/libyajl2/vendored/test/cases/simple.json.gold +9 -0
  154. data/ext/libyajl2/vendored/test/cases/simple_with_comments.json +11 -0
  155. data/ext/libyajl2/vendored/test/cases/simple_with_comments.json.gold +5 -0
  156. data/ext/libyajl2/vendored/test/cases/string_invalid_escape.json +1 -0
  157. data/ext/libyajl2/vendored/test/cases/string_invalid_escape.json.gold +3 -0
  158. data/ext/libyajl2/vendored/test/cases/string_invalid_hex_char.json +1 -0
  159. data/ext/libyajl2/vendored/test/cases/string_invalid_hex_char.json.gold +2 -0
  160. data/ext/libyajl2/vendored/test/cases/string_with_escapes.json +3 -0
  161. data/ext/libyajl2/vendored/test/cases/string_with_escapes.json.gold +7 -0
  162. data/ext/libyajl2/vendored/test/cases/string_with_invalid_newline.json +2 -0
  163. data/ext/libyajl2/vendored/test/cases/string_with_invalid_newline.json.gold +2 -0
  164. data/ext/libyajl2/vendored/test/cases/three_byte_utf8.json +1 -0
  165. data/ext/libyajl2/vendored/test/cases/three_byte_utf8.json.gold +7 -0
  166. data/ext/libyajl2/vendored/test/cases/true.json +1 -0
  167. data/ext/libyajl2/vendored/test/cases/true.json.gold +2 -0
  168. data/ext/libyajl2/vendored/test/cases/unescaped_bulgarian.json +1 -0
  169. data/ext/libyajl2/vendored/test/cases/unescaped_bulgarian.json.gold +4 -0
  170. data/ext/libyajl2/vendored/test/cases/zerobyte.json +1 -0
  171. data/ext/libyajl2/vendored/test/cases/zerobyte.json.gold +0 -0
  172. data/ext/libyajl2/vendored/test/run_tests.sh +94 -0
  173. data/ext/libyajl2/vendored/test/yajl_test.c +281 -0
  174. data/ext/libyajl2/vendored/verify/CMakeLists.txt +39 -0
  175. data/ext/libyajl2/vendored/verify/json_verify.c +116 -0
  176. data/lib/ffi_yajl.rb +14 -0
  177. data/lib/ffi_yajl/benchmark.rb +7 -0
  178. data/lib/ffi_yajl/benchmark/MIT-LICENSE +20 -0
  179. data/lib/ffi_yajl/benchmark/encode.rb +135 -0
  180. data/lib/ffi_yajl/benchmark/encode_json_and_marshal.rb +42 -0
  181. data/lib/ffi_yajl/benchmark/encode_json_and_yaml.rb +53 -0
  182. data/lib/ffi_yajl/benchmark/encode_profile.rb +38 -0
  183. data/lib/ffi_yajl/benchmark/http.rb +32 -0
  184. data/lib/ffi_yajl/benchmark/parse.rb +133 -0
  185. data/lib/ffi_yajl/benchmark/parse_json_and_marshal.rb +50 -0
  186. data/lib/ffi_yajl/benchmark/parse_json_and_yaml.rb +55 -0
  187. data/lib/ffi_yajl/benchmark/parse_profile.rb +37 -0
  188. data/lib/ffi_yajl/benchmark/parse_profile_ruby_prof.rb +39 -0
  189. data/lib/ffi_yajl/benchmark/parse_stream.rb +54 -0
  190. data/lib/ffi_yajl/benchmark/subjects/item.json +1 -0
  191. data/lib/ffi_yajl/benchmark/subjects/ohai.json +1216 -0
  192. data/lib/ffi_yajl/benchmark/subjects/ohai.marshal_dump +0 -0
  193. data/lib/ffi_yajl/benchmark/subjects/ohai.yml +975 -0
  194. data/lib/ffi_yajl/benchmark/subjects/twitter_search.json +1 -0
  195. data/lib/ffi_yajl/benchmark/subjects/twitter_stream.json +430 -0
  196. data/lib/ffi_yajl/benchmark/subjects/unicode.json +1 -0
  197. data/lib/ffi_yajl/encoder.rb +53 -0
  198. data/lib/ffi_yajl/ext.rb +22 -0
  199. data/lib/ffi_yajl/ext/.keep +0 -0
  200. data/lib/ffi_yajl/ffi.rb +129 -0
  201. data/lib/ffi_yajl/ffi/encoder.rb +175 -0
  202. data/lib/ffi_yajl/ffi/parser.rb +145 -0
  203. data/lib/ffi_yajl/json_gem.rb +121 -0
  204. data/lib/ffi_yajl/parser.rb +23 -0
  205. data/lib/ffi_yajl/version.rb +3 -0
  206. data/lib/libyajl.so +0 -0
  207. data/lib/libyajl.so.2 +0 -0
  208. data/lib/libyajl.so.2.0.5 +0 -0
  209. data/lib/libyajl_s.a +0 -0
  210. data/spec/ffi_yajl/encoder_spec.rb +39 -0
  211. data/spec/ffi_yajl/json_gem_spec.rb +355 -0
  212. data/spec/ffi_yajl/parser_spec.rb +78 -0
  213. data/spec/spec_helper.rb +14 -0
  214. metadata +330 -0
@@ -0,0 +1,78 @@
1
+ # encoding: UTF-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "FFI_Yajl::Parser" do
6
+
7
+ let(:parser) { FFI_Yajl::Parser.new }
8
+
9
+ it "throws an exception when trailing braces are missing" do
10
+ json = '{{"foo": 1234}'
11
+ expect { parser.parse(json) }.to raise_error(FFI_Yajl::ParseError)
12
+ end
13
+
14
+ it "throws an exception when trailing brackets are missing" do
15
+ json = '[["foo", "bar"]'
16
+ expect { parser.parse(json) }.to raise_error(FFI_Yajl::ParseError)
17
+ end
18
+
19
+ it "throws an exception when it has an extra brace" do
20
+ json = '{{"foo": 1234}}}'
21
+ expect { parser.parse(json) }.to raise_error(FFI_Yajl::ParseError)
22
+ end
23
+
24
+ it "throws an exception when it has an extra bracket" do
25
+ json = '[["foo", "bar"]]]'
26
+ expect { parser.parse(json) }.to raise_error(FFI_Yajl::ParseError)
27
+ end
28
+
29
+ context "when parsing floats" do
30
+ it "parses simple floating point values" do
31
+ json = '{"foo": 3.14159265358979}'
32
+ expect(parser.parse(json)).to eql({"foo" => 3.14159265358979})
33
+ end
34
+
35
+ it "parses simple negative floating point values" do
36
+ json = '{"foo":-2.00231930436153}'
37
+ expect(parser.parse(json)).to eql({"foo" => -2.00231930436153})
38
+ end
39
+
40
+ it "parses floats with negative exponents and a large E" do
41
+ json = '{"foo": 1.602176565E-19}'
42
+ expect(parser.parse(json)).to eql({"foo" => 1.602176565e-19})
43
+ end
44
+
45
+ it "parses floats with negative exponents and a small e" do
46
+ json = '{"foo": 6.6260689633e-34 }'
47
+ expect(parser.parse(json)).to eql({"foo" => 6.6260689633e-34 })
48
+ end
49
+
50
+ it "parses floats with positive exponents and a large E" do
51
+ json = '{"foo": 6.0221413E+23}'
52
+ expect(parser.parse(json)).to eql({"foo" => 6.0221413e+23})
53
+ end
54
+
55
+ it "parses floats with positive exponents and a small e" do
56
+ json = '{"foo": 8.9875517873681764e+9 }'
57
+ expect(parser.parse(json)).to eql({"foo" => 8.9875517873681764e+9 })
58
+ end
59
+
60
+ it "parses floats with an exponent without a sign and a large E" do
61
+ json = '{"foo": 2.99792458E8 }'
62
+ expect(parser.parse(json)).to eql({"foo" => 2.99792458e+8 })
63
+ end
64
+
65
+ it "parses floats with an exponent without a sign and a small e" do
66
+ json = '{"foo": 1.0973731568539e7 }'
67
+ expect(parser.parse(json)).to eql({"foo" => 1.0973731568539e+7 })
68
+ end
69
+ end
70
+
71
+ context "when parsing unicode in hash keys" do
72
+ it "handles heavy metal umlauts in keys" do
73
+ json = '{"München": "Bayern"}'
74
+ expect(parser.parse(json)).to eql({"München" => "Bayern"})
75
+ end
76
+ end
77
+ end
78
+
@@ -0,0 +1,14 @@
1
+ $: << File.expand_path(File.join(File.dirname( __FILE__ ), "../lib"))
2
+
3
+ require 'ffi_yajl'
4
+
5
+ RSpec.configure do |c|
6
+ c.filter_run_excluding :ruby_gte_19 => true unless RUBY_VERSION.to_f >= 1.9
7
+
8
+ c.order = 'random'
9
+
10
+ c.expect_with :rspec do |c|
11
+ c.syntax = :expect
12
+ end
13
+
14
+ end
metadata ADDED
@@ -0,0 +1,330 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ffi-yajl
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: universal-java
6
+ authors:
7
+ - Lamont Granquist
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-01-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '10.1'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '10.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.14'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.14'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.9'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.9'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake-compiler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.9'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.9'
69
+ - !ruby/object:Gem::Dependency
70
+ name: ffi
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.9'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.9'
83
+ description: Ruby FFI wrapper around YAJL 2.x
84
+ email: lamont@scriptkiddie.org
85
+ executables:
86
+ - ffi-yajl-bench
87
+ extensions:
88
+ - ext/libyajl2/extconf.rb
89
+ extra_rdoc_files:
90
+ - README.md
91
+ - LICENSE
92
+ files:
93
+ - LICENSE
94
+ - README.md
95
+ - Rakefile
96
+ - bin/ffi-yajl-bench
97
+ - ext/ffi_yajl/ext/encoder/encoder.c
98
+ - ext/ffi_yajl/ext/encoder/extconf.rb
99
+ - ext/ffi_yajl/ext/parser/extconf.rb
100
+ - ext/ffi_yajl/ext/parser/parser.c
101
+ - 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
268
+ - lib/ffi_yajl.rb
269
+ - lib/ffi_yajl/benchmark.rb
270
+ - lib/ffi_yajl/benchmark/MIT-LICENSE
271
+ - lib/ffi_yajl/benchmark/encode.rb
272
+ - lib/ffi_yajl/benchmark/encode_json_and_marshal.rb
273
+ - lib/ffi_yajl/benchmark/encode_json_and_yaml.rb
274
+ - lib/ffi_yajl/benchmark/encode_profile.rb
275
+ - lib/ffi_yajl/benchmark/http.rb
276
+ - lib/ffi_yajl/benchmark/parse.rb
277
+ - lib/ffi_yajl/benchmark/parse_json_and_marshal.rb
278
+ - lib/ffi_yajl/benchmark/parse_json_and_yaml.rb
279
+ - lib/ffi_yajl/benchmark/parse_profile.rb
280
+ - lib/ffi_yajl/benchmark/parse_profile_ruby_prof.rb
281
+ - lib/ffi_yajl/benchmark/parse_stream.rb
282
+ - lib/ffi_yajl/benchmark/subjects/item.json
283
+ - lib/ffi_yajl/benchmark/subjects/ohai.json
284
+ - lib/ffi_yajl/benchmark/subjects/ohai.marshal_dump
285
+ - lib/ffi_yajl/benchmark/subjects/ohai.yml
286
+ - lib/ffi_yajl/benchmark/subjects/twitter_search.json
287
+ - lib/ffi_yajl/benchmark/subjects/twitter_stream.json
288
+ - lib/ffi_yajl/benchmark/subjects/unicode.json
289
+ - lib/ffi_yajl/encoder.rb
290
+ - lib/ffi_yajl/ext.rb
291
+ - lib/ffi_yajl/ext/.keep
292
+ - lib/ffi_yajl/ffi.rb
293
+ - lib/ffi_yajl/ffi/encoder.rb
294
+ - lib/ffi_yajl/ffi/parser.rb
295
+ - lib/ffi_yajl/json_gem.rb
296
+ - lib/ffi_yajl/parser.rb
297
+ - lib/ffi_yajl/version.rb
298
+ - lib/libyajl.so
299
+ - lib/libyajl.so.2
300
+ - lib/libyajl.so.2.0.5
301
+ - lib/libyajl_s.a
302
+ - spec/ffi_yajl/encoder_spec.rb
303
+ - spec/ffi_yajl/json_gem_spec.rb
304
+ - spec/ffi_yajl/parser_spec.rb
305
+ - spec/spec_helper.rb
306
+ homepage: http://github.com/lamont-granquist/ffi-yajl
307
+ licenses:
308
+ - Apache-2.0
309
+ metadata: {}
310
+ post_install_message:
311
+ rdoc_options: []
312
+ require_paths:
313
+ - lib
314
+ required_ruby_version: !ruby/object:Gem::Requirement
315
+ requirements:
316
+ - - ">="
317
+ - !ruby/object:Gem::Version
318
+ version: '0'
319
+ required_rubygems_version: !ruby/object:Gem::Requirement
320
+ requirements:
321
+ - - ">="
322
+ - !ruby/object:Gem::Version
323
+ version: '0'
324
+ requirements: []
325
+ rubyforge_project:
326
+ rubygems_version: 2.2.0
327
+ signing_key:
328
+ specification_version: 4
329
+ summary: Ruby FFI wrapper around YAJL 2.x
330
+ test_files: []