Class: Object

Inherits:
BasicObject
Defined in:
lib/conject/extended_metaid.rb,
lib/conject/object_ext_object_context.rb

Overview

Metaid == a few simple metaclass helper (See whytheluckystiff.net/articles/seeingMetaclassesClearly.html.)

2012-01-03 crosby: Added module_def_private and class_def_private

Instance Method Summary collapse

Instance Method Details

#contextual_nameObject



6
7
8
# File 'lib/conject/object_ext_object_context.rb', line 6

def contextual_name
  @_conject_contextual_name
end

#meta_def(name, &blk) ⇒ Object

Adds methods to a metaclass



12
13
14
# File 'lib/conject/extended_metaid.rb', line 12

def meta_def name, &blk
  meta_eval { define_method name, &blk }
end

#meta_eval(&blk) ⇒ Object



9
# File 'lib/conject/extended_metaid.rb', line 9

def meta_eval &blk; metaclass.instance_eval &blk; end

#metaclassObject

The hidden singleton lurks behind everyone



8
# File 'lib/conject/extended_metaid.rb', line 8

def metaclass; class << self; self; end; end

#object_contextObject



2
3
4
# File 'lib/conject/object_ext_object_context.rb', line 2

def object_context
  @_conject_object_context || Thread.current[:_overriding_conject_object_context] || Conject.default_object_context
end