Class: GDBMarshal

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

Instance Method Summary collapse

Instance Method Details

#[](key) ⇒ Object



4
5
6
# File 'lib/gdbmarshal.rb', line 4

def [](key)
  unmarshal(super(key))
end

#[]=(key, val) ⇒ Object



8
9
10
# File 'lib/gdbmarshal.rb', line 8

def []=(key, val)
  super(key, marshal(val))
end

#delete_ifObject



48
49
50
51
52
# File 'lib/gdbmarshal.rb', line 48

def delete_if
  super do |key, value|
    yield(key, unmarshal(value))
  end
end

#eachObject

def first

unmarshal(super)

end



16
17
18
19
20
# File 'lib/gdbmarshal.rb', line 16

def each
  super do |vals|
    yield [vals[0], unmarshal(vals[1])]
  end
end

#each_valueObject



22
23
24
25
26
# File 'lib/gdbmarshal.rb', line 22

def each_value
  super do |val|
    yield unmarshal(val)
  end
end

#fetch(*args) ⇒ Object



28
29
30
# File 'lib/gdbmarshal.rb', line 28

def fetch(*args)
  unmarshal(super(*args))
end

#has_value?(v) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/gdbmarshal.rb', line 32

def has_value?(v)
  super(marshal(v))
end

#invertObject



36
37
38
# File 'lib/gdbmarshal.rb', line 36

def invert
  raise "Not implemented"
end

#key(value) ⇒ Object



40
41
42
# File 'lib/gdbmarshal.rb', line 40

def key(value)
  super(marshal(value))
end

#reject(&block) ⇒ Object



44
45
46
# File 'lib/gdbmarshal.rb', line 44

def reject(&block)
  Hash[super(&block).map {|k, v| [k, unmarshal(v)]}]
end

#replace(other) ⇒ Object



54
55
56
57
58
59
# File 'lib/gdbmarshal.rb', line 54

def replace(other)
  self.clear
  other.each_pair do |key, value|
    self[key] = value
  end
end

#selectObject



61
62
63
64
65
# File 'lib/gdbmarshal.rb', line 61

def select
  super do |key, value| 
    yield key, unmarshal(value)
  end
end

#shiftObject



67
68
69
70
# File 'lib/gdbmarshal.rb', line 67

def shift
  key, value = super
  [key, unmarshal(value)]
end

#store(key, value) ⇒ Object



72
73
74
# File 'lib/gdbmarshal.rb', line 72

def store(key, value)
  super(key, marshal(value))
end

#to_aObject



76
77
78
# File 'lib/gdbmarshal.rb', line 76

def to_a
  super.map {|key, value| [key, unmarshal(value)]}  
end

#to_hashObject



80
81
82
# File 'lib/gdbmarshal.rb', line 80

def to_hash
  Hash[self.to_a]
end

#update(other) ⇒ Object



84
85
86
87
88
# File 'lib/gdbmarshal.rb', line 84

def update(other)
  other.each_pair do |key, value|
    self[key] = value
  end
end

#valuesObject



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

def values
  super.map {|v| unmarshal(v)}
end

#values_at(*keys) ⇒ Object



98
99
100
# File 'lib/gdbmarshal.rb', line 98

def values_at(*keys)
  super(*keys).map {|v| unmarshal(v)}
end