Merge pull request #2667 from fog/use_fog_json

Use fog-json
This commit is contained in:
Wesley Beary 2014-02-13 09:30:19 -06:00
commit 908efa0161
2 changed files with 2 additions and 48 deletions

View File

@ -42,10 +42,11 @@ Gem::Specification.new do |s|
## List your runtime dependencies here. Runtime dependencies are those ## List your runtime dependencies here. Runtime dependencies are those
## that are needed for an end user to actually USE your code. ## that are needed for an end user to actually USE your code.
s.add_dependency("fog-core") s.add_dependency("fog-core")
s.add_dependency("fog-json")
s.add_dependency('builder') s.add_dependency('builder')
s.add_dependency('excon', '~>0.31.0') s.add_dependency('excon', '~>0.31.0')
s.add_dependency('formatador', '~>0.2.0') s.add_dependency('formatador', '~>0.2.0')
s.add_dependency('multi_json', '~>1.0')
s.add_dependency('mime-types') s.add_dependency('mime-types')
s.add_dependency('net-scp', '~>1.1') s.add_dependency('net-scp', '~>1.1')
s.add_dependency('net-ssh', '>=2.1.3') s.add_dependency('net-ssh', '>=2.1.3')

View File

@ -1,47 +0,0 @@
require "multi_json"
module Fog
# @note Extracting JSON components out of core is a work in progress.
#
# The {JSON} module includes functionality that is common between APIs using
# JSON to send and receive data.
#
# The intent is to provide common code for provider APIs using JSON but not
# require it for those using XML.
#
module JSON
class EncodeError < Fog::Errors::Error; end
class DecodeError < Fog::Errors::Error; end
def self.sanitize(data)
case data
when Array
data.map {|datum| sanitize(datum)}
when Hash
for key, value in data
data[key] = sanitize(value)
end
when ::Time
data.strftime("%Y-%m-%dT%H:%M:%SZ")
else
data
end
end
# Do the MultiJson introspection at this level so we can define our encode/decode methods and perform
# the introspection only once rather than once per call.
def self.encode(obj)
MultiJson.encode(obj)
rescue => err
raise EncodeError.slurp(err)
end
def self.decode(obj)
MultiJson.decode(obj)
rescue => err
raise DecodeError.slurp(err)
end
end
end