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



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

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

.load(stored_obj) ⇒ Object

reload an object from storage



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

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
  else
    Marshal.load(stored_obj)
  end
end