In emacs, there's robe mode which I found to work very well. It keeps a Ruby process running with your code loaded in it.
I wonder why no one's written a Ruby LSP with this approach rather than relying on static analysis.
I wonder why no one's written a Ruby LSP with this approach rather than relying on static analysis.