Hi David, Agree with a lot of what Lee said, however I don't think it will be excessively difficult refactor to make use of DI (although I have found it easier to implement on a fresh application), it's something you can do gradually and I find that the side-effects of using DI (decoupled objects, stricter boundaries and smaller interfaces) tend to be something that simplfies maintaining existing code, adding new features and testing.
There's a small community of Ruby developers (although growing quite rapidly) implementing tools to simplify using these patterns at http://rom-rb.org and http://dry-rb.org which I think you might find useful if you decide to follow that path. Particularly: https://github.com/dry-rb/dry-container https://github.com/dry-rb/dry-auto_inject https://github.com/dry-rb/dry-validation You may also find https://github.com/dry-rb/dry-component useful if you're working on a Rails-free stack. There's recent talk by Tim Riley (rom-rb/dry-rb core dev) at RedDotRubyConf in Singapore that's worth a watch too - https://www.youtube.com/watch?v=6ecNAjVWqaI We also use Gitter so feel free to join the chat for help/more info: https://gitter.im/dry-rb/chat -- You received this message because you are subscribed to the Google Groups "North West Ruby User Group (NWRUG)" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send an email to [email protected]. Visit this group at https://groups.google.com/group/nwrug-members. For more options, visit https://groups.google.com/d/optout.
