sporkmonger / addressable

Addressable is an alternative implementation to the URI implementation that is part of Ruby's standard library. It is flexible, offers heuristic parsing, and additionally provides extensive support for IRIs and URI templates.
Apache License 2.0
1.56k stars 265 forks source link

Commonly used word for the gem name #298

Closed misha-slyusarev closed 6 years ago

misha-slyusarev commented 6 years ago

Hi!

I'm pretty sure what's the answer will be, but still want to ask: have you considered to rename the gem?

I have just came from a several hours debugging after I added json_matchers to test responses from my controllers. Out of a sudden my models lost connection to Address model that I'm defining inside Addressable concern.

I would think twice before using a gem with such a name as addressable, but here it was added as a dependency. So I now have to rename my module and pick some less intuitive naming, because of some thing that I don't even use explicitly.

But, anyway, I appreciate your work on this software and want to thank you for making it open source.

pelted commented 6 years ago

I second this issue. Just ran into this because Capybara requires this gem. All my tests started failing after refactoring address model into an Addressable concern. Not the best project name.

dentarg commented 6 years ago

@misha-slyusarev @pelted Isn't it possible to for you to put your concerns in a module (namespace) specific to your application? So you don't run into these issues. I guess you can have a conflict like this with any gem or class in the standard library.

pelted commented 6 years ago

@dentarg Correct, that is mostly true. I realize this project has been around a while, so I’m not sure how long the specific dependency situation that has brought the naming conflict to light has been around. I know this is not the first time we’ve come across this issue. There is a tendency to use a very common polymorphic naming convention for objects that have the shared behavior of a mailing address and to name that addressable. Maybe we should address the dependency issue with Capybara. If someone is including Addressable in their project then it’s more obvious than the very cryptic test failures that start showing up once system tests are added to a Rails project.

dentarg commented 6 years ago

I'm pretty sure we wont change the name of the gem, sorry.