Class: AutoMarshallingMap

Inherits:
Object
  • Object
show all
Defined in:
lib/auto_marshalling_map.rb

Overview

A map which automatically marshals all keys and values passed to it.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(backend) ⇒ AutoMarshallingMap

backend is a Map from String to (String or nil). It will be used as a backend storage for the new AutoMarshallingMap.



11
12
13
# File 'lib/auto_marshalling_map.rb', line 11

def initialize(backend)
  @backend = backend
end

Instance Attribute Details

#backendObject (readonly)

backend argument passed to #new().



27
28
29
# File 'lib/auto_marshalling_map.rb', line 27

def backend
  @backend
end

Instance Method Details

#[](key) ⇒ Object



15
16
17
18
19
# File 'lib/auto_marshalling_map.rb', line 15

def [](key)
  value_string = @backend[Marshal.dump(key)]
  return nil if value_string.nil?
  return Marshal.load value_string
end

#[]=(key, value) ⇒ Object



21
22
23
24
# File 'lib/auto_marshalling_map.rb', line 21

def []=(key, value)
  @backend[Marshal.dump(key)] = Marshal.dump(value)
  return value
end