New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Namespacing "Analytics" Constant #15
Comments
This is probably not something we'll do anytime soon, but I hear your concerns :(. You're definitely right from a developer perspective. We should be namespaced for a namespace that we own. We're mostly trying to get uniformity across our different libraries and make installing easy for the average case. If we do get a bunch of complaints though, we'd consider dropping the top-level Analytics naming. In the meantime, the best thing to do is fork and remove that line (which it looks like you already have). I remember a pull request wanting to do something similar by creating their own module instead: #9 |
+1 for adding a namespace. It's definitely common, best practice to namespace ruby gems, especially if they use common names like Taking a look at this gem, I'd suggest completely removing
The public API then would be accessed under that namespace as well. For example:
If you're concerned with consistency, you could apply this pattern to your other libraries as well. It seems like the rationale for namespacing would apply equally to Python, PHP, etc. It would be a move in the right direction. As far a backwards compatibility, it would a simple update for folks currently using the old API: just add the
I totally understand this is probably not a priority. But it's obviously wrong, and I would be willing to do all the work and make a pull request. Any chance you'd reconsider? |
+1 because I just tried to add your gem to a rails app named "Analytics". I typed up more info in the dupe issue linked above. 😒 |
+1 |
Fixes #15, and allows the developer to choose the namespace. Our library will only use the namespace we _actually_ own, and we've updated the docs to alias to Analytics manually if the user so desires.
hey guys, yeah, this has bothered me for a while. just got around to fixing it and updating our docs momentarily. thanks for the patience! |
Fun story. We had defined a I spent way too much time scratching my head on this one. So while I was fully aware of the namespace change, I was still bit. |
Would there by any consideration of namespacing the top-level "Analytics" constant or perhaps the AnalyticsRuby module?
I've found issues of it clashing with internal classes named "Analytics" since its defined as top-level namespace (https://github.com/segmentio/analytics-ruby/blob/master/lib/analytics-ruby.rb#L35)
I can work on a PR and submit it if you're interested, however just wanted to throw out the idea as an improvement. "Analytics" is such a general name so I imagine it would cause some conflicts down the road..
In any case, great work guys. Looking forward to the service growing. 👍
The text was updated successfully, but these errors were encountered: