Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
class method
Etc.getgrgid
(?::Integer group_id) -> ::Etc::Group
getgrgid(group_id) → Etc::Group
ext/etc/etc.c
View on GitHub ↗
static VALUE
etc_getgrgid(int argc, VALUE *argv, VALUE obj)
{
#ifdef HAVE_GETGRENT
VALUE id;
gid_t gid;
struct group *grp;
if (rb_scan_args(argc, argv, "01", &id) == 1) {
gid = NUM2GIDT(id);
}
else {
gid = getgid();
}
grp = getgrgid(gid);
if (grp == 0) rb_raise(rb_eArgError, "can't find group for %d", (int)gid);
return setup_group(grp);
#else
return Qnil;
#endif
}
Returns information about the group with specified integer group_id, as found in /etc/group.
The information is returned as a Group struct.
See the unix manpage for getgrgid(3) for more detail.
Example:
Example
Etc.getgrgid(100) #=> #<struct Etc::Group name="users", passwd="x", gid=100, mem=["meta", "root"]>