Sha256: a36b59f47aeec75a314c21be3ffe5d759fbe4055df9b8004a5646b496035e7ae

Contents?: true

Size: 656 Bytes

Versions: 5

Compression:

Stored size: 656 Bytes

Contents

require 'multi_json'

module Fog
  module JSON

    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)
    end

    def self.decode(obj)
      MultiJson.decode(obj)
    end

  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
gapinc-fog-1.12.1.1 lib/fog/core/json.rb
gapinc-fog-1.12.1a lib/fog/core/json.rb
gapinc-fog-1.12.1 lib/fog/core/json.rb
fog-1.12.1 lib/fog/core/json.rb
fog-1.12.0 lib/fog/core/json.rb