Class: Class

Inherits:
Object
  • Object
show all
Defined in:
lib/class-path.rb,
lib/zenoptimize.rb

Instance Method Summary collapse

Instance Method Details

#optimize(*methods) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/zenoptimize.rb', line 8

def optimize(*methods)
  methods.each do |method|
    src = RubyToC.translate(self, method)
    class_eval "alias :#{method}_slow :#{method}"
    class_eval "remove_method :#{method}"
    class_eval "inline(:C) { |b| b.c src }"
  end
end

#pathObject



4
5
6
7
8
9
10
11
# File 'lib/class-path.rb', line 4

def path
  result = []
  self.name.split(/::/).inject(Object) do |c, n|
    result << c.const_get(n)
    result.last
  end
  return result
end