jiffy 1.0.1

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 (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: []