Class: Factbase::Taped::TapedHash

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

Overview

Decorator of Hash.

Instance Method Summary collapse

Constructor Details

#initialize(origin, added) ⇒ TapedHash

Returns a new instance of TapedHash.



85
86
87
88
# File 'lib/factbase/taped.rb', line 85

def initialize(origin, added)
  @origin = origin
  @added = added
end

Instance Method Details

#[](key) ⇒ Object



98
99
100
101
102
# File 'lib/factbase/taped.rb', line 98

def [](key)
  v = @origin[key]
  v = TapedArray.new(v, @origin.object_id, @added) if v.is_a?(Array)
  v
end

#[]=(key, value) ⇒ Object



104
105
106
107
# File 'lib/factbase/taped.rb', line 104

def []=(key, value)
  @origin[key] = value
  @added.append(@origin.object_id)
end

#keysObject



90
91
92
# File 'lib/factbase/taped.rb', line 90

def keys
  @origin.keys
end

#mapObject



94
95
96
# File 'lib/factbase/taped.rb', line 94

def map(&)
  @origin.map(&)
end