I am interested to know what is the best namespace strategy in developing rails plugins to prevent collision. I know it is common theme in ruby development, but it seems to be much more important with rails plugins as it rely a lot of rails behavior and a lot of magic metaprogramming going on.
How can we make sure we are not stepping on each other toes?
It's certainly possible to create conflicts if unique module/class names aren't used. My advice would be to use nested modules in your plugin code to create a namespace. Then, in your init.rb hook, you can graft these methods onto ActiveRecord (or any other pre-existing piece of Rails) by referencing them thusly: