If ruby development is your gig, and especially if Linux is your target runtime environment, I don't understand why you'd choose anything other than Linux, unless the choice was made for you.
Speaking as a web dev on a company-issued Mac, running my local dev environment inside a Parallels Linux VM. I asked to switch to Linux but was turned down.
(Now if Microsoft released LSW, i.e. an Ubuntu-based distro with Windows syscall support via a KVM-hosted NT kernel, I very well might opt for that instead.)
Obviously back in the day windows was an absolute dog for any dev work outside of windows, and a complete no go. I've only started using it for development a few months now, but so far haven't encountered any major issues. Maybe I'll run into some interoperability problems with specific syscalls at the compatibility layer, but so far it largely just works for my needs (VS Code with intellisense and debugging, docker, K8S, Zsh and few other tools). If my tests pass locally, I can safely assume they pass on the CI server, and haven't been proven wrong so far. If I ever need a linux box, there's an old laptop that's just for that. At this point it's turtles all the way down, what's the harm adding another turtle on top.
It's not all roses, there is a noticeable performance hit with the filesystem in both WSL and the windows layer. I wouldn't use it for production, and why would you, but for development, it's fine and largely not a problem. If you had to regularly deal with a large numbers of files, say log parsing or compiling, it's probably not going to work.
Besides recent OS X SSL library issues, I've haven't ever run in problems developing on a Mac and have used one for the better part of 10 years now. Can't say the same with developing on Linux (almost exclusively on the graphics side of things, but that's a problem when it's your primary machine).
Speaking as a web dev on a company-issued Mac, running my local dev environment inside a Parallels Linux VM. I asked to switch to Linux but was turned down.
(Now if Microsoft released LSW, i.e. an Ubuntu-based distro with Windows syscall support via a KVM-hosted NT kernel, I very well might opt for that instead.)