jiffy 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +18 -0
  4. data/LICENSE +20 -0
  5. data/README.md +144 -0
  6. data/bin/jiffy +46 -0
  7. data/jiffy.gemspec +104 -0
  8. data/lib/jiffy/json_outputter.rb +62 -0
  9. data/lib/jiffy/parsers/json.rb +293 -0
  10. data/lib/jiffy/parsers/json.rl +56 -0
  11. data/lib/jiffy/parsers/json_array.rb +306 -0
  12. data/lib/jiffy/parsers/json_array.rl +45 -0
  13. data/lib/jiffy/parsers/json_common.rl +24 -0
  14. data/lib/jiffy/parsers/json_float.rb +269 -0
  15. data/lib/jiffy/parsers/json_float.rl +37 -0
  16. data/lib/jiffy/parsers/json_object.rb +348 -0
  17. data/lib/jiffy/parsers/json_object.rl +58 -0
  18. data/lib/jiffy/parsers/json_string.rb +267 -0
  19. data/lib/jiffy/parsers/json_string.rl +41 -0
  20. data/lib/jiffy/parsers/json_value.rb +346 -0
  21. data/lib/jiffy/parsers/json_value.rl +78 -0
  22. data/lib/jiffy/version.rb +3 -0
  23. data/lib/jiffy.rb +50 -0
  24. data/test/jiffy_test.rb +47 -0
  25. data/test/negative-examples/hexadecimal.json +3 -0
  26. data/test/negative-examples/infinity-value.json +3 -0
  27. data/test/negative-examples/leading-comma.json +3 -0
  28. data/test/negative-examples/leading-zero.json +3 -0
  29. data/test/negative-examples/line-break.json +4 -0
  30. data/test/negative-examples/missing-colon.json +3 -0
  31. data/test/negative-examples/nan-value,json +3 -0
  32. data/test/negative-examples/positive-float.json +3 -0
  33. data/test/negative-examples/positive-integer.json +3 -0
  34. data/test/negative-examples/single-quote.json +3 -0
  35. data/test/negative-examples/string-as-root.json +1 -0
  36. data/test/negative-examples/tab-character.json +3 -0
  37. data/test/negative-examples/trailing-array-seperator.json +3 -0
  38. data/test/negative-examples/trailing-object-seperator.json +3 -0
  39. data/test/negative-examples/true-as-root.json +1 -0
  40. data/test/negative-examples/unclosed-array.json +2 -0
  41. data/test/negative-examples/unclosed-object.json +2 -0
  42. data/test/positive-examples/array-as-root.json +3 -0
  43. data/test/positive-examples/array-nested-inside-array.json +5 -0
  44. data/test/positive-examples/array-nested-inside-object.json +5 -0
  45. data/test/positive-examples/false-value.json +3 -0
  46. data/test/positive-examples/null-value.json +3 -0
  47. data/test/positive-examples/number-1.json +3 -0
  48. data/test/positive-examples/number-10.json +3 -0
  49. data/test/positive-examples/number-11.json +3 -0
  50. data/test/positive-examples/number-12.json +3 -0
  51. data/test/positive-examples/number-13.json +3 -0
  52. data/test/positive-examples/number-14.json +3 -0
  53. data/test/positive-examples/number-15.json +3 -0
  54. data/test/positive-examples/number-16.json +3 -0
  55. data/test/positive-examples/number-17.json +3 -0
  56. data/test/positive-examples/number-18.json +3 -0
  57. data/test/positive-examples/number-19.json +3 -0
  58. data/test/positive-examples/number-2.json +3 -0
  59. data/test/positive-examples/number-20.json +3 -0
  60. data/test/positive-examples/number-3.json +3 -0
  61. data/test/positive-examples/number-4.json +3 -0
  62. data/test/positive-examples/number-5.json +3 -0
  63. data/test/positive-examples/number-6.json +3 -0
  64. data/test/positive-examples/number-7.json +3 -0
  65. data/test/positive-examples/number-8.json +3 -0
  66. data/test/positive-examples/number-9.json +3 -0
  67. data/test/positive-examples/object-as-root.json +3 -0
  68. data/test/positive-examples/object-nested-inside-array.json +5 -0
  69. data/test/positive-examples/object-nested-inside-object.json +5 -0
  70. data/test/positive-examples/seperated-array-values.json +4 -0
  71. data/test/positive-examples/seperated-object-properties.json +4 -0
  72. data/test/positive-examples/string-backspace.json +3 -0
  73. data/test/positive-examples/string-carriage-return.json +3 -0
  74. data/test/positive-examples/string-formfeed.json +3 -0
  75. data/test/positive-examples/string-horizontal-tab.json +3 -0
  76. data/test/positive-examples/string-newline.json +3 -0
  77. data/test/positive-examples/string-quotation.json +3 -0
  78. data/test/positive-examples/string-reverse-solidus.json +3 -0
  79. data/test/positive-examples/string-solidus.json +3 -0
  80. data/test/positive-examples/string-trivial.json +3 -0
  81. data/test/positive-examples/string-unicode.json +3 -0
  82. data/test/positive-examples/true-value.json +3 -0
  83. metadata +155 -0
@@ -0,0 +1,3 @@
1
+ [
2
+ -100e-10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ -100E-10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ -1.123
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ -1.123e10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ -1.123E10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ -1.123e-10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ 100e10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ -1.123E-10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ 100E10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ 100e-10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ 100E-10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ 1.123
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ 1.123e10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ 1.123E10
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ 1.123e-10
3
+ ]
@@ -0,0 +1,3 @@
1
+ {
2
+
3
+ }
@@ -0,0 +1,4 @@
1
+ [
2
+ "",
3
+ ""
4
+ ]
@@ -0,0 +1,4 @@
1
+ {
2
+ "": "",
3
+ "": ""
4
+ }
@@ -0,0 +1,3 @@
1
+ [
2
+ "\b"
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ "\r"
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ "\f"
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ "\t"
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ "\n"
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ "\""
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ "\\"
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ "\/"
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ "foo"
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ "\u1111"
3
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ true
3
+ ]
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jiffy
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jonas Amundsen
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: Jiffy utilizes Ragel in order to parse and continuously format JSON data.
42
+ This allows it to achieve a constant memory usage, independent of the input size.
43
+ email:
44
+ - jonasba+gem@gmail.com
45
+ executables:
46
+ - jiffy
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - Gemfile
51
+ - Gemfile.lock
52
+ - LICENSE
53
+ - README.md
54
+ - bin/jiffy
55
+ - jiffy.gemspec
56
+ - lib/jiffy.rb
57
+ - lib/jiffy/json_outputter.rb
58
+ - lib/jiffy/parsers/json.rb
59
+ - lib/jiffy/parsers/json.rl
60
+ - lib/jiffy/parsers/json_array.rb
61
+ - lib/jiffy/parsers/json_array.rl
62
+ - lib/jiffy/parsers/json_common.rl
63
+ - lib/jiffy/parsers/json_float.rb
64
+ - lib/jiffy/parsers/json_float.rl
65
+ - lib/jiffy/parsers/json_object.rb
66
+ - lib/jiffy/parsers/json_object.rl
67
+ - lib/jiffy/parsers/json_string.rb
68
+ - lib/jiffy/parsers/json_string.rl
69
+ - lib/jiffy/parsers/json_value.rb
70
+ - lib/jiffy/parsers/json_value.rl
71
+ - lib/jiffy/version.rb
72
+ - test/jiffy_test.rb
73
+ - test/negative-examples/hexadecimal.json
74
+ - test/negative-examples/infinity-value.json
75
+ - test/negative-examples/leading-comma.json
76
+ - test/negative-examples/leading-zero.json
77
+ - test/negative-examples/line-break.json
78
+ - test/negative-examples/missing-colon.json
79
+ - test/negative-examples/nan-value,json
80
+ - test/negative-examples/positive-float.json
81
+ - test/negative-examples/positive-integer.json
82
+ - test/negative-examples/single-quote.json
83
+ - test/negative-examples/string-as-root.json
84
+ - test/negative-examples/tab-character.json
85
+ - test/negative-examples/trailing-array-seperator.json
86
+ - test/negative-examples/trailing-object-seperator.json
87
+ - test/negative-examples/true-as-root.json
88
+ - test/negative-examples/unclosed-array.json
89
+ - test/negative-examples/unclosed-object.json
90
+ - test/positive-examples/array-as-root.json
91
+ - test/positive-examples/array-nested-inside-array.json
92
+ - test/positive-examples/array-nested-inside-object.json
93
+ - test/positive-examples/false-value.json
94
+ - test/positive-examples/null-value.json
95
+ - test/positive-examples/number-1.json
96
+ - test/positive-examples/number-10.json
97
+ - test/positive-examples/number-11.json
98
+ - test/positive-examples/number-12.json
99
+ - test/positive-examples/number-13.json
100
+ - test/positive-examples/number-14.json
101
+ - test/positive-examples/number-15.json
102
+ - test/positive-examples/number-16.json
103
+ - test/positive-examples/number-17.json
104
+ - test/positive-examples/number-18.json
105
+ - test/positive-examples/number-19.json
106
+ - test/positive-examples/number-2.json
107
+ - test/positive-examples/number-20.json
108
+ - test/positive-examples/number-3.json
109
+ - test/positive-examples/number-4.json
110
+ - test/positive-examples/number-5.json
111
+ - test/positive-examples/number-6.json
112
+ - test/positive-examples/number-7.json
113
+ - test/positive-examples/number-8.json
114
+ - test/positive-examples/number-9.json
115
+ - test/positive-examples/object-as-root.json
116
+ - test/positive-examples/object-nested-inside-array.json
117
+ - test/positive-examples/object-nested-inside-object.json
118
+ - test/positive-examples/seperated-array-values.json
119
+ - test/positive-examples/seperated-object-properties.json
120
+ - test/positive-examples/string-backspace.json
121
+ - test/positive-examples/string-carriage-return.json
122
+ - test/positive-examples/string-formfeed.json
123
+ - test/positive-examples/string-horizontal-tab.json
124
+ - test/positive-examples/string-newline.json
125
+ - test/positive-examples/string-quotation.json
126
+ - test/positive-examples/string-reverse-solidus.json
127
+ - test/positive-examples/string-solidus.json
128
+ - test/positive-examples/string-trivial.json
129
+ - test/positive-examples/string-unicode.json
130
+ - test/positive-examples/true-value.json
131
+ homepage: https://github.com/badeball/jiffy
132
+ licenses:
133
+ - MIT
134
+ metadata: {}
135
+ post_install_message:
136
+ rdoc_options: []
137
+ require_paths:
138
+ - lib
139
+ required_ruby_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ required_rubygems_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ requirements: []
150
+ rubyforge_project:
151
+ rubygems_version: 2.2.2
152
+ signing_key:
153
+ specification_version: 4
154
+ summary: A streaming-based JSON formatter in Ruby.
155
+ test_files: []