class FMCache::Jsonizer

Public Class Methods

new(json_serializer) click to toggle source

@param [#dump#load | nil] json_serializer

# File lib/fmcache/jsonizer.rb, line 6
def initialize(json_serializer)
  @json_serializer = json_serializer || DefaultJsonSerializer
end

Public Instance Methods

dejsonize(hash) click to toggle source

@param [{ String => { String => String } }] hash @return [{ String => { String => <Hash> } }]

# File lib/fmcache/jsonizer.rb, line 26
def dejsonize(hash)
  r = {}
  hash.each do |k, v|
    h = {}
    v.each do |kk, vv|
      if vv.nil?
        h[kk] = nil
      else
        begin
          h[kk] = @json_serializer.load(vv)
        rescue
          h[kk] = nil
        end
      end
    end
    r[k] = h
  end
  r
end
jsonize(hash) click to toggle source

@param [{ String => { String => <Hash> } }] hash @return [{ String => { String => String } }]

# File lib/fmcache/jsonizer.rb, line 12
def jsonize(hash)
  r = {}
  hash.each do |k, v|
    h = {}
    v.each do |kk, vv|
      h[kk] = @json_serializer.dump(vv)
    end
    r[k] = h
  end
  r
end