This module is used to extend somes classes and give then a common API.
Most of methods defined here must be overriden.
static VALUE conv_from_native(VALUE self, VALUE value, VALUE ctx) { return value; }
Get native type. @overload native_type(type)
@param [String, Symbol, Type] type @return [Type] Get native type from +type+.
@overload native_type
@raise {NotImplementedError} This method must be overriden.
static VALUE conv_native_type(int argc, VALUE* argv, VALUE self) { if (argc == 0) { if (!rb_ivar_defined(self, id_native_type_ivar)) { rb_raise(rb_eNotImpError, "native_type method not overridden and no native_type set"); } return rb_ivar_get(self, id_native_type_ivar); } else if (argc == 1) { VALUE type = rbffi_Type_Find(argv[0]); rb_ivar_set(self, id_native_type_ivar, type); return type; } else { rb_raise(rb_eArgError, "incorrect arguments"); } }
Generated with the Darkfish Rdoc Generator 2.