Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Emulating Node.js Modules in Ruby (ghost.org)
29 points by andrewnez on Oct 19, 2013 | hide | past | favorite | 5 comments


My 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


Ah that's really interesting, I've added it to the bottom of the post as a note.


I 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

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.


The code for the importer is here: https://github.com/andrew/module_import

It's early days but could be quite an interesting way to handle dependencies in ruby.


The 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: