# Code Shopping in Rails

**URL:** <https://www.ruby-forum.com/t/code-shopping-in-rails/52197>\
**Category:** Rails\
**Created:** [January 11, 2006, 9:17pm UTC](https://www.ruby-forum.com/t/code-shopping-in-rails/52197 "2006-01-11T21:17:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [January 11, 2006, 9:17pm UTC](https://www.ruby-forum.com/t/code-shopping-in-rails/52197/1 "2006-01-11T21:17:34Z")

</div>

Back in the horse-and-buggy days when I was cutting my OO eye teeth  
on Smalltalk, we had a LOT of conversations about the biggest problem  
dealing with a large and growing set of classes and methods in the  
Smalltalk image. It became clear that most, if not all, successful  
Smalltalk coders spent a lot of their time code-shopping, i.e.,  
looking for a class or method that did something they needed to do.  
It was bad enough when that “something” lived in the mongo image file  
that accmpanied each Smalltalk install. If what you wanted wasn’t  
even in the image but was “out there somewhere,” finding it could be  
a real challenge.

I note with some pleasure that there has been an attempt to deal with  
this problem at least partially in Ruby and Rails, especially with  
the existence of rubyforge and what appears to be a standard and  
organized way of publishing and installing gems. So my question is,  
what are the best ways people have found to determine whether a  
particular needed capability has already been created by someone and,  
if so, how and where to get it?

(By way of example, I ran across acts\_as\_paranoid on this list a  
while ago and was delighted both at the naming of the method and at  
the fact that it exists as a gem. But let’s say I was looking for  
some way to give myself better protection against inadvertent or ill-  
advised deletion of stuff;; how would you have advised me to go find  
this little…er…gem?)

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.  
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-  
Dan S.  
Technology Visionary - Technology Assessment - Documentation  
“Looking at technology from every angle”  
[http://www.eclecticity.com](http://www.eclecticity.com)

---

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [January 11, 2006, 9:57pm UTC](https://www.ruby-forum.com/t/code-shopping-in-rails/52197/2 "2006-01-11T21:57:24Z")

</div>

On Jan 11, 2006, at 3:13 PM, Dan S. wrote:

> the fact that it exists as a gem. But let’s say I was looking for  
> some way to give myself better protection against inadvertent or  
> ill-advised deletion of stuff;; how would you have advised me to go  
> find this little…er…gem?)

I agree. A Ruby/Rails version of Perl’s CPAN would be a terrific  
asset. And yes, I think that rubyforge and gems are moving in that  
direction. In the meantime…who knows…

Speaking of acts\_as\_paranoid, I seem to remember something on the  
Rails podcast a while back about acts\_as\_paranoid. If memory serves  
me, the author was not recommending it. But then again, that was  
awhile ago, and it may have been cleaned up since then. Someone more  
in the know can comment as to its current status.

-Derrick

---

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [January 11, 2006, 10:18pm UTC](https://www.ruby-forum.com/t/code-shopping-in-rails/52197/3 "2006-01-11T22:18:58Z")

</div>

I have nearly the same problem and have been searching for different  
ways to “get” existing well-written tools for my projects. So far I  
found a nice resource using plugins through this Plugin Manager:  
[Simplest Possible Plugin Manager For Rails](http://lesscode.org/2005/10/27/rails-simplest-plugin-manager/)

A large note, its not exactly the easiest and most direct way(ie: a  
browser with a search box), but at least it has a simple approach to  
maintaining your plugins external and internal.

My two cents for the day, take care.

Dan S. wrote:

> that it exists as a gem. But let’s say I was looking for some way to  
> “Looking at technology from every angle”  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

## –

Adam B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Integrum Technologies, LLC  
Phone: +1 602 792 1270  
Mobile: +1 480 580 7091

---

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [January 13, 2006, 2:39am UTC](https://www.ruby-forum.com/t/code-shopping-in-rails/52197/4 "2006-01-13T02:39:38Z")

</div>

Alex…

Yeah, that works much of the time. It’s the New World equivalent to  
opening your door and shouting down the hallway, “Hey! Anyone have a  
method that does this?” I was looking for something a bit  
less…er…disruptive?

🙂

Dan

---

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [January 12, 2006, 10:57am UTC](https://www.ruby-forum.com/t/code-shopping-in-rails/52197/5 "2006-01-12T10:57:47Z")

</div>

Dan S. wrote:

> So my question is, what are the  
> best ways people have found to determine whether a particular needed  
> capability has already been created by someone and, if so, how and where  
> to get it?  
> Ask here 🙂
