I've packaged up the code action from the last post into a neovim plugin: ruby-code-actions.nvim. Since publishing the plugin, I've added new code actions for correcting the current line, selected lines, or entire file with RuboCop.
I wrote it using plenary for unit testing and found the experience lovely. It has good mocking support for
vim.api and your custom code. I couldn't out the correct way to mock things like
vim.cmd and such but I worked around this by using
vim.api equivalents or wrapping calls and mocking the wrappers. I can't say enough nice things about plenary or TJ DeVries' work on telescope and neovim itself.
In the end, I have a spec file I can run via
make and the development process feels more like the comfortable TDD I'm used to.