Class: Object

Inherits:
BasicObject
Defined in:
lib/ronin/extensions/meta/object.rb

Overview

metaprogramming assistant – metaid.rb

Instance Method Summary collapse

Instance Method Details

#class_def(name, &blk) ⇒ Object

Defines an instance method within a class



21
22
23
# File 'lib/ronin/extensions/meta/object.rb', line 21

def class_def(name, &blk)
  class_eval { define_method(name, &blk) }
end

#meta_def(name, &blk) ⇒ Object

Adds methods to a metaclass



16
17
18
# File 'lib/ronin/extensions/meta/object.rb', line 16

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

#meta_eval(&blk) ⇒ Object



5
# File 'lib/ronin/extensions/meta/object.rb', line 5

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

#metaclassObject

The hidden singleton lurks behind everyone



4
# File 'lib/ronin/extensions/meta/object.rb', line 4

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

#metaclass_def(name, &blk) ⇒ Object

A class_def version of meta_def



11
12
13
# File 'lib/ronin/extensions/meta/object.rb', line 11

def metaclass_def(name, &blk)
  metaclass_eval { define_method(name, &blk) }
end

#metaclass_eval(&blk) ⇒ Object

A class_eval version of meta_eval



8
# File 'lib/ronin/extensions/meta/object.rb', line 8

def metaclass_eval(&blk); metaclass.class_eval(&blk); end