diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ffi_yajl/ffi/encoder.rb | 9 |
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 |