1
0
Fork 0
mirror of https://github.com/rails/execjs synced 2023-03-27 23:21:20 -04:00

Fix invalid MultiJson API detection (closes #82)

`#load` is defined in Kernel and inherited in every object, thus Object.respond_to?(:load) will always return true.

MultiJson switched to load/dump from decode/encode. Thus it's safe to use a single check for both encoding and decoding methods.
This commit is contained in:
Simone Carletti 2012-05-07 15:11:58 +02:00
parent 121e97dbf4
commit 5b87c9b7ec

View file

@ -85,21 +85,19 @@ module ExecJS
end
end
if MultiJson.respond_to?(:load)
if MultiJson.respond_to?(:dump)
def json_decode(obj)
MultiJson.load(obj)
end
else
def json_decode(obj)
MultiJson.decode(obj)
end
end
if MultiJson.respond_to?(:dump)
def json_encode(obj)
MultiJson.dump(obj)
end
else
def json_decode(obj)
MultiJson.decode(obj)
end
def json_encode(obj)
MultiJson.encode(obj)
end