Class: Object

Inherits:
BasicObject
Defined in:
lib/mega/snapshot.rb,
lib/mega/blankslate.rb

Overview

– Extend some base classes of Ruby (Object, Array, String, Hash, Struct) for the two methods #take_snapshot and #restore_snapshot, required by Snapshot. ++

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.blank_slate_method_addedObject



52
# File 'lib/mega/blankslate.rb', line 52

alias_method :blank_slate_method_added, :method_added

.method_added(name) ⇒ Object



53
54
55
56
57
# File 'lib/mega/blankslate.rb', line 53

def method_added(name)
  blank_slate_method_added(name)
  return if self != Object
  BlankSlate.hide(name)
end

Instance Method Details

#restore_snapshot(snap) ⇒ Object



138
139
140
141
142
# File 'lib/mega/snapshot.rb', line 138

def restore_snapshot(snap)
  instance_variables.each do |iv|
    instance_variable_set(iv, snap[iv])
  end
end

#take_snapshotObject



130
131
132
133
134
135
136
# File 'lib/mega/snapshot.rb', line 130

def take_snapshot
  snap = Hash.new
  instance_variables.each do |iv|
    snap[iv] = instance_variable_get(iv)
  end
  snap
end