commit
908efa0161
|
@ -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')
|
||||||
|
|
|
@ -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
|
|
Loading…
Reference in New Issue