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.



72
73
74
75
# File 'lib/factbase/taped.rb', line 72

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

Instance Method Details

#[](key) ⇒ Object



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

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

#[]=(key, value) ⇒ Object



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

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

#keysObject



77
78
79
# File 'lib/factbase/taped.rb', line 77

def keys
  @origin.keys
end

#mapObject



81
82
83
# File 'lib/factbase/taped.rb', line 81

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