yajl-ruby 0.5.8 → 0.5.9

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of yajl-ruby might be problematic. Click here for more details.

data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.9 (July 9th, 2009)
4
+ * Bugfix for Yajl::Encoder where encoding a hash like {:a => :b} would get stuck in an infinite loop
5
+
3
6
  ## 0.5.8 (July 6th, 2009)
4
7
  * Bugfix in Yajl::HttpStream for proper handling of the Content-type header (Rob Sharp)
5
8
  * Yajl::Encoder now has an on_progress callback setter, which can be used to harness the encoder's streaming ability.
data/README.rdoc CHANGED
@@ -49,7 +49,7 @@ or maybe a StringIO
49
49
 
50
50
  or maybe STDIN
51
51
 
52
- cat someJsonFile.json | ruby -ryajl -e "puts Yajl::Parser.new.parse(STDIN).inspect"
52
+ cat someJsonFile.json | ruby -ryajl -e "puts Yajl::Parser.parse(STDIN).inspect"
53
53
 
54
54
 
55
55
  Or lets say you didn't have access to the IO object that contained JSON data, but instead
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :patch: 8
2
+ :patch: 9
3
3
  :major: 0
4
4
  :minor: 5
data/ext/yajl_ext.c CHANGED
@@ -136,6 +136,10 @@ void yajl_encode_part(void * wrapper, VALUE obj, VALUE io) {
136
136
  case T_STRING:
137
137
  status = yajl_gen_string(w->encoder, (const unsigned char *)RSTRING_PTR(obj), (unsigned int)RSTRING_LEN(obj));
138
138
  break;
139
+ case T_SYMBOL:
140
+ str = rb_funcall(obj, intern_to_s, 0);
141
+ status = yajl_gen_string(w->encoder, (const unsigned char *)RSTRING_PTR(str), (unsigned int)RSTRING_LEN(str));
142
+ break;
139
143
  default:
140
144
  if (rb_respond_to(obj, intern_to_json)) {
141
145
  str = rb_funcall(obj, intern_to_json, 0);
data/lib/yajl.rb CHANGED
@@ -13,7 +13,7 @@ require 'yajl_ext'
13
13
  #
14
14
  # Ruby bindings to the excellent Yajl (Yet Another JSON Parser) ANSI C library.
15
15
  module Yajl
16
- VERSION = "0.5.8"
16
+ VERSION = "0.5.9"
17
17
 
18
18
  class Parser
19
19
  # A helper method for parse-and-forget use-cases
@@ -183,4 +183,8 @@ describe "Yajl JSON encoder" do
183
183
  d = Dummy2.new
184
184
  Yajl::Encoder.encode({:foo => d}).should eql('{"foo":"hawtness"}')
185
185
  end
186
+
187
+ it "should encode a hash where the key and value can be symbols" do
188
+ Yajl::Encoder.encode({:foo => :bar}).should eql('{"foo":"bar"}')
189
+ end
186
190
  end
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.8"
5
+ s.version = "0.5.9"
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-07-06}
9
+ s.date = %q{2009-07-09}
10
10
  s.email = %q{seniorlopez@gmail.com}
11
11
  s.extensions = ["ext/extconf.rb"]
12
12
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yajl-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.5.9
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-07-06 00:00:00 -07:00
13
+ date: 2009-07-09 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies: []
16
16