3 ms·
Emulating Node.js Modules in Ruby
- andrewnez 13y agoThe code for the importer is here: https://github.com/andrew/module_import https://github.com/andrew/module_import It's early days but could be quite an interesting way to handle dependencies in ruby.
- Argorak 13y agoI am not sure whether this is a good approach, given how much module hierarchy matters in ruby. I came up with similar hacky things as the OP. I played around with ideas a few years ago and found an interesting gem: #load actually allows you to load against an anonymous module to protect the global namespace. It would be interesting to provide a non-anonymous module there. http://www.ruby-doc.org/core-2.0.0/Kernel.html#method-i-load http://www.ruby-doc.org/core-2.0.0/Kernel.html#method-i-load In the end, I found that deviating from such a fundamental part of the language to be less worthwhile than expected. The cognitive load of doing the "non-standard" thing is just to high.
- parshap 13y agoThe module system is indeed one of the best things about Node. I'm not sure it fits well into all languages and their ecosystems, but it's certainly interesting to try. For another example, here is an implementation for C: https://github.com/substack/dotc https://github.com/substack/dotc.
- __cyx 13y agoMy good friend and colleague Michel Martens has tried to propose this to the rubygem guys but unfortunately it was rejected because it's not the `ruby way`. https://github.com/soveran/cargo https://github.com/soveran/cargo
- andrewnez 13y agoAh that's really interesting, I've added it to the bottom of the post as a note.