Module: Kernel

Defined in:
lib/core_ext/kernel.rb

Instance Method Summary collapse

Instance Method Details

#blank_context(ivars = {}, &block) ⇒ Object



2
3
4
5
6
7
8
9
10
11
# File 'lib/core_ext/kernel.rb', line 2

def blank_context(ivars={}, &block)
  klass = Class.new do
    instance_methods.each { |m| undef_method(m) unless m =~ /^(__|instance_|meta)/ }
  end
  
  klass.class_eval(&block)
  instance = klass.new
  ivars.each { |key, value| instance.instance_variable_set("@#{key}", value) }
  instance
end