End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
instance method
Module#public
public → self
public(symbol, ...) → self
public(string, ...) → self
public(array) → self
vm_method.c
View on GitHub ↗
static VALUE
rb_mod_public(int argc, VALUE *argv, VALUE module)
{
return set_visibility(argc, argv, module, METHOD_VISI_PUBLIC);
}
With no arguments, sets the default visibility for subsequently defined methods to public. With arguments, sets the named methods to have public visibility. String arguments are converted to symbols. An Array of Symbols and/or Strings are also accepted.
Ruby version changes
-
3.0
-
Module#public,Module#protected,Module#private,Module#public_class_method,Module#private_class_method, toplevel “private” and “public” methods now accept single array argument with a list of method names. [Feature #17314]
-
See also
#protected_method_defined?
#public_class_method
#protected_instance_methods
#public_constant
also in
4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.1