/* * call-seq: * obj.public_methods(all=true) -> array * * Returns the list of public methods accessible to <i>obj</i>. If * the <i>all</i> parameter is set to <code>false</code>, only those methods * in the receiver will be listed. */ mrb_value mrb_obj_public_methods(mrb_state *mrb, mrb_value self) { mrb_bool recur = TRUE; mrb_get_args(mrb, "|b", &recur); return mrb_obj_methods(mrb, recur, self, NOEX_PUBLIC); /* public attribute not define */ }
/* * call-seq: * obj.private_methods(all=true) -> array * * Returns the list of private methods accessible to <i>obj</i>. If * the <i>all</i> parameter is set to <code>false</code>, only those methods * in the receiver will be listed. */ mrb_value mrb_obj_private_methods(mrb_state *mrb, mrb_value self) { mrb_bool recur = TRUE; mrb_get_args(mrb, "|b", &recur); return mrb_obj_methods(mrb, recur, self, NOEX_PRIVATE); /* private attribute not define */ }
/* * call-seq: * obj.protected_methods(all=true) -> array * * Returns the list of protected methods accessible to <i>obj</i>. If * the <i>all</i> parameter is set to <code>false</code>, only those methods * in the receiver will be listed. */ mrb_value mrb_obj_protected_methods(mrb_state *mrb, mrb_value self) { mrb_bool recur = TRUE; mrb_get_args(mrb, "|b", &recur); return mrb_obj_methods(mrb, recur, self, NOEX_PROTECTED); /* protected attribute not define */ }
/* * call-seq: * obj.methods -> array * * Returns a list of the names of methods publicly accessible in * <i>obj</i>. This will include all the methods accessible in * <i>obj</i>'s ancestors. * * class Klass * def kMethod() * end * end * k = Klass.new * k.methods[0..9] #=> [:kMethod, :respond_to?, :nil?, :is_a?, * # :class, :instance_variable_set, * # :methods, :extend, :__send__, :instance_eval] * k.methods.length #=> 42 */ mrb_value mrb_obj_methods_m(mrb_state *mrb, mrb_value self) { mrb_bool recur = TRUE; mrb_get_args(mrb, "|b", &recur); return mrb_obj_methods(mrb, recur, self, (mrb_method_flag_t)0); /* everything but private */ }
/* * call-seq: * obj.public_methods(all=true) -> array * * Returns the list of public methods accessible to <i>obj</i>. If * the <i>all</i> parameter is set to <code>false</code>, only those methods * in the receiver will be listed. */ mrb_value mrb_obj_public_methods(mrb_state *mrb, mrb_value self) { mrb_value *argv; int argc; mrb_get_args(mrb, "*", &argv, &argc); return mrb_obj_methods(mrb, argc, argv, self, NOEX_PUBLIC); /* public attribute not define */ }
/* * call-seq: * obj.protected_methods(all=true) -> array * * Returns the list of protected methods accessible to <i>obj</i>. If * the <i>all</i> parameter is set to <code>false</code>, only those methods * in the receiver will be listed. */ mrb_value mrb_obj_protected_methods(mrb_state *mrb, mrb_value self) { mrb_value *argv; int argc; mrb_get_args(mrb, "*", &argv, &argc); return mrb_obj_methods(mrb, argc, argv, self, NOEX_PROTECTED); /* protected attribute not define */ }
/* * call-seq: * obj.private_methods(all=true) -> array * * Returns the list of private methods accessible to <i>obj</i>. If * the <i>all</i> parameter is set to <code>false</code>, only those methods * in the receiver will be listed. */ mrb_value mrb_obj_private_methods(mrb_state *mrb, mrb_value self) { mrb_value *argv; int argc; mrb_get_args(mrb, "*", &argv, &argc); return mrb_obj_methods(mrb, argc, argv, self, NOEX_PRIVATE); /* private attribute not define */ }
/* * call-seq: * obj.methods -> array * * Returns a list of the names of methods publicly accessible in * <i>obj</i>. This will include all the methods accessible in * <i>obj</i>'s ancestors. * * class Klass * def kMethod() * end * end * k = Klass.new * k.methods[0..9] #=> [:kMethod, :freeze, :nil?, :is_a?, * # :class, :instance_variable_set, * # :methods, :extend, :__send__, :instance_eval] * k.methods.length #=> 42 */ mrb_value mrb_obj_methods_m(mrb_state *mrb, mrb_value self) { mrb_value *argv; int argc; mrb_get_args(mrb, "*", &argv, &argc); return mrb_obj_methods(mrb, argc, argv, self, (mrb_method_flag_t)0); /* everything but private */ }