1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use types::{Argc, c_char, c_int, CallbackPtr, Id, Value}; extern "C" { pub fn rb_class_new_instance(argc: Argc, argv: *const Value, klass: Value) -> Value; pub fn rb_class_superclass(class: Value) -> Value; pub fn rb_define_attr(klass: Value, name: *const c_char, read: c_int, write: c_int); pub fn rb_define_class(name: *const c_char, superclass: Value) -> Value; pub fn rb_define_class_under(outer: Value, name: *const c_char, superclass: Value) -> Value; pub fn rb_define_method(klass: Value, name: *const c_char, callback: CallbackPtr, argc: Argc); pub fn rb_define_module(name: *const c_char) -> Value; pub fn rb_ivar_get(object: Value, name: Id) -> Value; pub fn rb_ivar_set(object: Value, name: Id, value: Value) -> Value; pub fn rb_mod_ancestors(module: Value) -> Value; pub fn rb_obj_class(object: Value) -> Value; pub fn rb_respond_to(object: Value, id: Id) -> c_int; pub fn rb_singleton_class(object: Value) -> Value; pub fn rb_define_singleton_method(klass: Value, name: *const c_char, callback: CallbackPtr, argc: Argc); }