summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2015-04-20 14:17:45 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2015-04-20 14:17:45 -0700
commit41c5bc347676f8525253903a4f353054e9b8b656 (patch)
tree28ede077ed2452dac30bd265741d6420b7d142d7 /lib
parenta1d4ff3ab371aecc92182f3fc9ff5a966a2df8bc (diff)
parent705c971f54b416a4ec6f77e962718be88f9e3e06 (diff)
downloadffi-yajl-41c5bc347676f8525253903a4f353054e9b8b656.tar.gz
Merge pull request #19 from chef/lcg/stringio-encoding
support encoding StringIOs
Diffstat (limited to 'lib')
-rw-r--r--lib/ffi_yajl/ffi/encoder.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/ffi_yajl/ffi/encoder.rb b/lib/ffi_yajl/ffi/encoder.rb
index 6e168fe..73a0d11 100644
--- a/lib/ffi_yajl/ffi/encoder.rb
+++ b/lib/ffi_yajl/ffi/encoder.rb
@@ -227,6 +227,15 @@ class String
end
end
+class StringIO
+ def ffi_yajl(yajl_gen, state)
+ str = self.read
+ if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
+ FFI_Yajl::Encoder.raise_error_for_status(status)
+ end
+ end
+end
+
class Date
def ffi_yajl(yajl_gen, state)
str = self.to_s