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.



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

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

Instance Method Details

#[](key) ⇒ Object



101
102
103
104
105
# File 'lib/factbase/taped.rb', line 101

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

#[]=(key, value) ⇒ Object



107
108
109
110
# File 'lib/factbase/taped.rb', line 107

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

#keysObject



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

def keys
  @origin.keys
end

#mapObject



97
98
99
# File 'lib/factbase/taped.rb', line 97

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