Class: AutoMarshallingMap
- Inherits:
-
Object
- Object
- AutoMarshallingMap
- Defined in:
- lib/auto_marshalling_map.rb
Overview
A map which automatically marshals all keys and values passed to it.
Instance Attribute Summary collapse
-
#backend ⇒ Object
readonly
backendargument passed to #new().
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
-
#initialize(backend) ⇒ AutoMarshallingMap
constructor
backendis a Map from String to (String or nil).
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
#backend ⇒ Object (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 |