summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2014-11-24 15:45:53 -0800
committerLamont Granquist <lamont@scriptkiddie.org>2014-11-24 15:45:53 -0800
commit937e0b46b7845f05473c8c29d8cf0f601305958c (patch)
treee36fec09c474e9cd77d7aabfb64449cd81fb134c /lib
parent9d466797cbeb13a098dbaccf366eec495c842830 (diff)
downloadffi-yajl-937e0b46b7845f05473c8c29d8cf0f601305958c.tar.gz
allow arbitrary Objects as keys
i fixed Hashes/Arrays/true/false/nil, but forgot Object.
Diffstat (limited to 'lib')
-rw-r--r--lib/ffi_yajl/ffi/encoder.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ffi_yajl/ffi/encoder.rb b/lib/ffi_yajl/ffi/encoder.rb
index add35f6..af1f1a6 100644
--- a/lib/ffi_yajl/ffi/encoder.rb
+++ b/lib/ffi_yajl/ffi/encoder.rb
@@ -236,7 +236,7 @@ end
# I feel dirty
class Object
def ffi_yajl(yajl_gen, state)
- if self.respond_to?(:to_json)
+ if !state[:processing_key] && self.respond_to?(:to_json)
json = self.to_json(state[:json_opts])
# #yajl_gen_number outputs a string without quotes around it
status = FFI_Yajl.yajl_gen_number(yajl_gen, json, json.bytesize)