But that way your sacrificing integration into your system's nsswitch which may want to do something completely different with your requests.
You could also query over dbus which can be async https://www.freedesktop.org/software/systemd/man/latest/org.... (if you can depend on systemd)
If you want more context, you can read: https://bugs.ruby-lang.org/issues/19430