Module: Bramble::Serialize

Defined in:
lib/bramble/serialize.rb

Overview

eg, Redis uses strings only, so use this module to freeze and thaw values from storage

Class Method Summary collapse

Class Method Details

.dump(obj) ⇒ Object

prepare an object for storage



6
7
8
# File 'lib/bramble/serialize.rb', line 6

def self.dump(obj)
  JSON.dump(obj)
end

.load(stored_obj) ⇒ Object

reload an object from storage



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/bramble/serialize.rb', line 11

def self.load(stored_obj)
  case stored_obj
  when Array
    stored_obj.map { |obj| load(obj) }
  when Hash
    stored_obj.inject({}) do |memo, (k, v)|
      memo[load(k)] = load(v)
      memo
    end
  when nil
    nil
  else
    JSON.load(stored_obj)
  end
end