Top Level Namespace

Includes:
Benchmark

Defined Under Namespace

Modules: English, Enumerable, StrokeDB Classes: Array, BlankSlate, FalseClass, Fixnum, Hash, NilClass, Numeric, Object, SignPartitions, String, TrueClass

Instance Method Summary collapse

Instance Method Details

#BlankSlate(superclass = nil) ⇒ Object

[View source]

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/util/blankslate.rb', line 27

def BlankSlate superclass = nil
  if superclass
    (@blank_slates ||= {})[superclass] ||= Class.new(superclass) do
      instance_methods.sort.each { |m|
        unless m =~ /^__/
          mname = "__#{::BlankSlate::MethodMapping[m.to_s] || m}"
          class_eval "alias :'#{mname}' :'#{m}'" 
          
          undef_method m
        end
      }
    end
  else
    BlankSlate
  end
end