brianmario-yajl-ruby 0.4.8 → 0.5.0
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.
- data/CHANGELOG.rdoc +21 -0
- data/README.rdoc +13 -0
- data/VERSION.yml +2 -2
- data/benchmark/encode.rb +4 -3
- data/benchmark/encode_json_and_marshal.rb +4 -3
- data/benchmark/encode_json_and_yaml.rb +4 -3
- data/benchmark/parse.rb +5 -4
- data/benchmark/parse_json_and_marshal.rb +4 -3
- data/benchmark/parse_json_and_yaml.rb +4 -3
- data/benchmark/parse_stream.rb +48 -0
- data/benchmark/subjects/twitter_stream.json +430 -0
- data/examples/http/twitter_search_api.rb +15 -0
- data/examples/http/twitter_stream_api.rb +24 -0
- data/examples/parsing/from_file.rb +14 -0
- data/examples/parsing/from_stdin.rb +9 -0
- data/examples/parsing/from_string.rb +15 -0
- data/ext/api/yajl_parse.h +3 -0
- data/ext/extconf.rb +2 -1
- data/ext/yajl.c +5 -0
- data/ext/yajl_ext.c +235 -122
- data/ext/yajl_ext.h +49 -36
- data/ext/yajl_lex.c +7 -0
- data/ext/yajl_lex.h +2 -0
- data/ext/yajl_parser.c +3 -1
- data/lib/yajl.rb +18 -17
- data/lib/yajl/bzip2.rb +1 -1
- data/lib/yajl/bzip2/stream_reader.rb +1 -1
- data/lib/yajl/bzip2/stream_writer.rb +1 -1
- data/lib/yajl/deflate.rb +1 -1
- data/lib/yajl/deflate/stream_reader.rb +1 -1
- data/lib/yajl/deflate/stream_writer.rb +1 -1
- data/lib/yajl/gzip.rb +1 -1
- data/lib/yajl/gzip/stream_reader.rb +1 -1
- data/lib/yajl/gzip/stream_writer.rb +1 -1
- data/lib/yajl/http_stream.rb +21 -5
- data/spec/encoding/encoding_spec.rb +14 -9
- data/spec/http/http_spec.rb +1 -5
- data/spec/parsing/active_support_spec.rb +5 -3
- data/spec/parsing/chunked_spec.rb +72 -0
- data/spec/parsing/fixtures_spec.rb +4 -2
- data/spec/parsing/one_off_spec.rb +2 -1
- data/spec/spec_helper.rb +8 -1
- data/yajl-ruby.gemspec +17 -3
- metadata +16 -2
@@ -10,7 +10,8 @@ describe "Parsing JSON Fixtures" do
|
|
10
10
|
FAILED.each do |name, source|
|
11
11
|
it "should not be able to parse #{File.basename(name)}" do
|
12
12
|
lambda {
|
13
|
-
Yajl::
|
13
|
+
parser = Yajl::Parser.new
|
14
|
+
parser.parse(StringIO.new(source))
|
14
15
|
}.should raise_error(Yajl::ParseError)
|
15
16
|
end
|
16
17
|
end
|
@@ -18,7 +19,8 @@ describe "Parsing JSON Fixtures" do
|
|
18
19
|
PASSED.each do |name, source|
|
19
20
|
it "should be able to parse #{File.basename(name)}" do
|
20
21
|
lambda {
|
21
|
-
Yajl::
|
22
|
+
parser = Yajl::Parser.new
|
23
|
+
parser.parse(StringIO.new(source))
|
22
24
|
}.should_not raise_error(Yajl::ParseError)
|
23
25
|
end
|
24
26
|
end
|
@@ -5,7 +5,8 @@ describe "One-off JSON examples" do
|
|
5
5
|
it "should parse 23456789012E666 and return Infinity" do
|
6
6
|
infinity = (1.0/0)
|
7
7
|
silence_warnings do
|
8
|
-
Yajl::
|
8
|
+
parser = Yajl::Parser.new
|
9
|
+
parser.parse(StringIO.new('{"key": 23456789012E666}')).should == {"key" => infinity}
|
9
10
|
end
|
10
11
|
end
|
11
12
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
|
2
|
+
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
|
3
|
+
|
4
|
+
begin
|
5
|
+
require './yajl_ext'
|
6
|
+
require 'yajl'
|
7
|
+
rescue LoadError
|
8
|
+
require 'yajl'
|
9
|
+
end
|
3
10
|
require 'stringio'
|
4
11
|
require 'active_support/core_ext/kernel/reporting'
|
data/yajl-ruby.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{yajl-ruby}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.5.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Brian Lopez", "Lloyd Hilaiel"]
|
9
|
-
s.date = %q{2009-05-
|
9
|
+
s.date = %q{2009-05-25}
|
10
10
|
s.email = %q{seniorlopez@gmail.com}
|
11
11
|
s.extensions = ["ext/extconf.rb"]
|
12
12
|
s.extra_rdoc_files = [
|
@@ -27,12 +27,19 @@ Gem::Specification.new do |s|
|
|
27
27
|
"benchmark/parse.rb",
|
28
28
|
"benchmark/parse_json_and_marshal.rb",
|
29
29
|
"benchmark/parse_json_and_yaml.rb",
|
30
|
+
"benchmark/parse_stream.rb",
|
30
31
|
"benchmark/subjects/contacts.json",
|
31
32
|
"benchmark/subjects/contacts.yml",
|
32
33
|
"benchmark/subjects/item.json",
|
33
34
|
"benchmark/subjects/ohai.json",
|
34
35
|
"benchmark/subjects/twitter_search.json",
|
36
|
+
"benchmark/subjects/twitter_stream.json",
|
35
37
|
"benchmark/subjects/unicode.json",
|
38
|
+
"examples/http/twitter_search_api.rb",
|
39
|
+
"examples/http/twitter_stream_api.rb",
|
40
|
+
"examples/parsing/from_file.rb",
|
41
|
+
"examples/parsing/from_stdin.rb",
|
42
|
+
"examples/parsing/from_string.rb",
|
36
43
|
"ext/api/yajl_common.h",
|
37
44
|
"ext/api/yajl_gen.h",
|
38
45
|
"ext/api/yajl_parse.h",
|
@@ -70,6 +77,7 @@ Gem::Specification.new do |s|
|
|
70
77
|
"spec/http/fixtures/http.raw.dump",
|
71
78
|
"spec/http/http_spec.rb",
|
72
79
|
"spec/parsing/active_support_spec.rb",
|
80
|
+
"spec/parsing/chunked_spec.rb",
|
73
81
|
"spec/parsing/fixtures/fail.15.json",
|
74
82
|
"spec/parsing/fixtures/fail.16.json",
|
75
83
|
"spec/parsing/fixtures/fail.17.json",
|
@@ -141,9 +149,15 @@ Gem::Specification.new do |s|
|
|
141
149
|
"spec/encoding/encoding_spec.rb",
|
142
150
|
"spec/http/http_spec.rb",
|
143
151
|
"spec/parsing/active_support_spec.rb",
|
152
|
+
"spec/parsing/chunked_spec.rb",
|
144
153
|
"spec/parsing/fixtures_spec.rb",
|
145
154
|
"spec/parsing/one_off_spec.rb",
|
146
|
-
"spec/spec_helper.rb"
|
155
|
+
"spec/spec_helper.rb",
|
156
|
+
"examples/http/twitter_search_api.rb",
|
157
|
+
"examples/http/twitter_stream_api.rb",
|
158
|
+
"examples/parsing/from_file.rb",
|
159
|
+
"examples/parsing/from_stdin.rb",
|
160
|
+
"examples/parsing/from_string.rb"
|
147
161
|
]
|
148
162
|
|
149
163
|
if s.respond_to? :specification_version then
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brianmario-yajl-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Lopez
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-05-
|
13
|
+
date: 2009-05-25 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|
@@ -37,12 +37,19 @@ files:
|
|
37
37
|
- benchmark/parse.rb
|
38
38
|
- benchmark/parse_json_and_marshal.rb
|
39
39
|
- benchmark/parse_json_and_yaml.rb
|
40
|
+
- benchmark/parse_stream.rb
|
40
41
|
- benchmark/subjects/contacts.json
|
41
42
|
- benchmark/subjects/contacts.yml
|
42
43
|
- benchmark/subjects/item.json
|
43
44
|
- benchmark/subjects/ohai.json
|
44
45
|
- benchmark/subjects/twitter_search.json
|
46
|
+
- benchmark/subjects/twitter_stream.json
|
45
47
|
- benchmark/subjects/unicode.json
|
48
|
+
- examples/http/twitter_search_api.rb
|
49
|
+
- examples/http/twitter_stream_api.rb
|
50
|
+
- examples/parsing/from_file.rb
|
51
|
+
- examples/parsing/from_stdin.rb
|
52
|
+
- examples/parsing/from_string.rb
|
46
53
|
- ext/api/yajl_common.h
|
47
54
|
- ext/api/yajl_gen.h
|
48
55
|
- ext/api/yajl_parse.h
|
@@ -80,6 +87,7 @@ files:
|
|
80
87
|
- spec/http/fixtures/http.raw.dump
|
81
88
|
- spec/http/http_spec.rb
|
82
89
|
- spec/parsing/active_support_spec.rb
|
90
|
+
- spec/parsing/chunked_spec.rb
|
83
91
|
- spec/parsing/fixtures/fail.15.json
|
84
92
|
- spec/parsing/fixtures/fail.16.json
|
85
93
|
- spec/parsing/fixtures/fail.17.json
|
@@ -172,6 +180,12 @@ test_files:
|
|
172
180
|
- spec/encoding/encoding_spec.rb
|
173
181
|
- spec/http/http_spec.rb
|
174
182
|
- spec/parsing/active_support_spec.rb
|
183
|
+
- spec/parsing/chunked_spec.rb
|
175
184
|
- spec/parsing/fixtures_spec.rb
|
176
185
|
- spec/parsing/one_off_spec.rb
|
177
186
|
- spec/spec_helper.rb
|
187
|
+
- examples/http/twitter_search_api.rb
|
188
|
+
- examples/http/twitter_stream_api.rb
|
189
|
+
- examples/parsing/from_file.rb
|
190
|
+
- examples/parsing/from_stdin.rb
|
191
|
+
- examples/parsing/from_string.rb
|