summaryrefslogtreecommitdiff
path: root/lib/ffi_yajl/ffi/encoder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ffi_yajl/ffi/encoder.rb')
-rw-r--r--lib/ffi_yajl/ffi/encoder.rb45
1 files changed, 21 insertions, 24 deletions
diff --git a/lib/ffi_yajl/ffi/encoder.rb b/lib/ffi_yajl/ffi/encoder.rb
index 71b631e..250ed68 100644
--- a/lib/ffi_yajl/ffi/encoder.rb
+++ b/lib/ffi_yajl/ffi/encoder.rb
@@ -27,7 +27,7 @@ module FFI_Yajl
module FFI
module Encoder
def do_yajl_encode(obj, yajl_gen_opts, opts)
- yajl_gen = FFI_Yajl.yajl_gen_alloc(nil);
+ yajl_gen = FFI_Yajl.yajl_gen_alloc(nil)
# configure the yajl encoder
if yajl_gen_opts[:yajl_gen_beautify]
@@ -58,9 +58,8 @@ module FFI_Yajl
FFI_Yajl.yajl_gen_free(yajl_gen)
- return string
+ string
end
-
end
end
end
@@ -68,7 +67,7 @@ end
class Hash
def ffi_yajl(yajl_gen, state)
if state[:processing_key]
- str = self.to_s
+ str = to_s
if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, str)
end
@@ -76,7 +75,7 @@ class Hash
if ( status = FFI_Yajl.yajl_gen_map_open(yajl_gen) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, '{')
end
- self.each do |key, value|
+ each do |key, value|
# Perf Fix: mutate state hash rather than creating new copy
state[:processing_key] = true
key.ffi_yajl(yajl_gen, state)
@@ -93,7 +92,7 @@ end
class Array
def ffi_yajl(yajl_gen, state)
if state[:processing_key]
- str = self.to_s
+ str = to_s
if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, str)
end
@@ -101,7 +100,7 @@ class Array
if ( status = FFI_Yajl.yajl_gen_array_open(yajl_gen) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, '[')
end
- self.each do |value|
+ each do |value|
value.ffi_yajl(yajl_gen, state)
end
if ( status = FFI_Yajl.yajl_gen_array_close(yajl_gen) ) != 0
@@ -113,7 +112,7 @@ end
class NilClass
def ffi_yajl(yajl_gen, state)
- str = self.to_s
+ str = to_s
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, str)
@@ -128,7 +127,7 @@ end
class TrueClass
def ffi_yajl(yajl_gen, state)
- str = self.to_s
+ str = to_s
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, str)
@@ -143,7 +142,7 @@ end
class FalseClass
def ffi_yajl(yajl_gen, state)
- str = self.to_s
+ str = to_s
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, str)
@@ -158,7 +157,7 @@ end
class Fixnum
def ffi_yajl(yajl_gen, state)
- str = self.to_s
+ str = to_s
if str == "NaN" || str == "Infinity" || str == "-Infinity"
raise ::FFI_Yajl::EncodeError.new("'#{str}' is an invalid number")
end
@@ -176,7 +175,7 @@ end
class Bignum
def ffi_yajl(yajl_gen, state)
- str = self.to_s
+ str = to_s
if str == "NaN" || str == "Infinity" || str == "-Infinity"
raise ::FFI_Yajl::EncodeError.new("'#{str}' is an invalid number")
end
@@ -194,7 +193,7 @@ end
class Float
def ffi_yajl(yajl_gen, state)
- str = self.to_s
+ str = to_s
if str == "NaN" || str == "Infinity" || str == "-Infinity"
raise ::FFI_Yajl::EncodeError.new("'#{str}' is an invalid number")
end
@@ -212,7 +211,7 @@ end
class Symbol
def ffi_yajl(yajl_gen, state)
- str = self.to_s
+ str = to_s
if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, str)
end
@@ -221,7 +220,7 @@ end
class String
def ffi_yajl(yajl_gen, state)
- if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, self, self.bytesize) ) != 0
+ if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, self, bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, self)
end
end
@@ -229,7 +228,7 @@ end
class StringIO
def ffi_yajl(yajl_gen, state)
- str = self.read
+ str = read
if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, str)
end
@@ -238,7 +237,7 @@ end
class Date
def ffi_yajl(yajl_gen, state)
- str = self.to_s
+ str = to_s
if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, str)
end
@@ -247,7 +246,7 @@ end
class Time
def ffi_yajl(yajl_gen, state)
- str = self.strftime "%Y-%m-%d %H:%M:%S %z"
+ str = strftime "%Y-%m-%d %H:%M:%S %z"
if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, str)
end
@@ -256,7 +255,7 @@ end
class DateTime
def ffi_yajl(yajl_gen, state)
- str = self.to_s
+ str = to_s
if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0
FFI_Yajl::Encoder.raise_error_for_status(status, str)
end
@@ -267,15 +266,13 @@ end
class Object
def ffi_yajl(yajl_gen, state)
if !state[:processing_key] && self.respond_to?(:to_json)
- str = self.to_json(state[:json_opts])
+ str = to_json(state[:json_opts])
# #yajl_gen_number outputs a string without quotes around it
status = FFI_Yajl.yajl_gen_number(yajl_gen, str, str.bytesize)
else
- str = self.to_s
+ str = to_s
status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize)
end
- if ( status ) != 0
- FFI_Yajl::Encoder.raise_error_for_status(status, str)
- end
+ FFI_Yajl::Encoder.raise_error_for_status(status, str) if ( status ) != 0
end
end