195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
# File 'ext/ffi_yajl/ext/encoder/encoder.c', line 195
def ffi_yajl(yajl_gen, state)
str = self.to_s
if str == "NaN" || str == "Infinity" || str == "-Infinity"
raise ::FFI_Yajl::EncodeError.new("'#{str}' is an invalid number")
end
if state[:processing_key]
if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status)
end
else
if ( status = FFI_Yajl.yajl_gen_number(yajl_gen, str, str.bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status)
end
end
end
|