3 ms·
I haven't done a lot of Ruby lately, and I don't know what the `NameSpace`-class is intended to be used for, but is the effect of the suggestion similar to that
by htyden 2y ago
I haven't done a lot of Ruby lately, and I don't know what the `NameSpace`-class is intended to be used for, but is the effect of the suggestion similar to that of https://github.com/hannestyden/require-here https://github.com/hannestyden/require-here ?
- tinco 2y agoIt's intended to be used as a scope within which the default attachment point for constants is not the Object class but instead the `NameSpace` instance that the `require` call was made on. Most people are talking about how this would allow you to require multiple versions of the same library (each in its own NameSpace), but I think that would be a bad use of it. I don't remember the last time I had a problem with conflicting libraries in Ruby, and I think the last time I did I just forked the offending library. A more interesting use case is to have a framework like Rails use it to define namespaces for files without those files having to constantly refer to the name of the namespace they're in. That's something that's bugged me anyway.
- Fire-Dragon-DoL 2y agoYou can somewhat achieve this by defining one top level module and then do the nesting of everything else with :: module SomeGrouping class Some::Nested end class Whatever def foo Some::Nested.new end end end Sorry typing code on phone is a nightmare