Extending an object

I’m writing an extension for Ruby, and want to extend an object with
methods from a module. I’m doing it like this:

rb_extend_object(self, rb_mAModuleExtension);

But the methods added to self become private. I want them public. How
should this be done?

Thanks in advance.


Gerardo S.
“Between individuals, as between nations, respect for the rights of
others is peace” - Don Benito Juárez

On Mon, 2006-02-27 at 16:16 +0900, Gerardo S. Gómez Garrido wrote:

I’m writing an extension for Ruby, and want to extend an object with
methods from a module. I’m doing it like this:

rb_extend_object(self, rb_mAModuleExtension);

But the methods added to self become private. I want them public. How
should this be done?

I think rb_extend_object retains the original access of module instance
methods, so you should need to just define them public in the module
you’re extending.

Thanks Ross, it’s solved. For the record, I was using
rb_define_module_function insted of rb_define_method for defining a
method in the module.

2006/2/27, Ross B. [email protected]:

methods, so you should need to just define them public in the module
you’re extending.


Ross B. - [email protected]


Gerardo S.
“Between individuals, as between nations, respect for the rights of
others is peace” - Don Benito Juárez