# File weave.rb, line 136 def self.rb_define_method klass, name, sym, arity prev = nil begin prev = klass.instance_method(name.to_sym) rescue NameError end case sym when UnboundMethod klass.instance_eval { define_method name.to_sym, sym } when Symbol Weave::FFI.define_method klass, name, sym.sym, arity when Numeric # maybe someone passed in a handle? Weave::FFI.define_method klass, name, sym, arity end return prev end