# Tattle - The Ruby Census

**URL:** <https://www.ruby-forum.com/t/tattle-the-ruby-census/81407>\
**Category:** Ruby\
**Created:** [January 8, 2007, 10:01pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407 "2007-01-08T22:01:49Z")\
**Posts on this page:** 14\
**Page:** 6

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:39pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/101 "2007-09-25T22:39:52Z")

</div>

On 1/12/07, Gregory S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Default: no prompt, no install  
> -Y: no prompt, install  
> –optional-dependencies: prompt

A way to install the optional dependencies for an already-installed  
gem would be great, too. I’m not thinking of a great syntax off the  
top of my head, though.

–  
Nathaniel T.

\<:((\>\<

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:41pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/102 "2007-09-25T22:41:44Z")

</div>

On 1/12/07, Austin Z. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ## things that can be done with an idempotent gem is that you can
> 
> Austin Z. \* removed\_email\_address@domain.invalid \* [http://www.halostatue.ca/](http://www.halostatue.ca/)  
> \* removed\_email\_address@domain.invalid \* [You are in a maze of twisty little passages, all alike. // halo • statue](http://www.halostatue.ca/feed/)  
> \* removed\_email\_address@domain.invalid

So if I were to spend this weekend getting optional/developer-time  
dependencies into RubyGems, would people want optional dependencies to  
always be prompted, only prompted when a flag is given, or never  
prompted?

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:41pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/103 "2007-09-25T22:41:58Z")

</div>

On 1/11/07, Daniel B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> And, at the command prompt:
> 
> C:\gem install something
> 
> Install required dependency something? [Yn]  
> Install optional dependency rspec (Test suite only) [Yn]  
> …
> 
> And the API would simply be:
> 
> Gem#add\_optional(gem, comment, \*requirements)

Dan, Excellent approach. I’d love to see this.

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:43pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/104 "2007-09-25T22:43:40Z")

</div>

I am now thinking:  
-Y: unconditional install of dev deps (like -y, but only for developer  
deps)  
-O: prompted install of dev deps

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:44pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/105 "2007-09-25T22:44:35Z")

</div>

On Jan 9, 2007, at 10:14, Eric H. wrote:

> Ten releases of Hoe in three months.
> 
> One release of RubyGems in eighteen months.

Oops, six months. I can’t do math.

–  
Eric H. - removed\_email\_address@domain.invalid - [http://blog.segment7.net](http://blog.segment7.net)

I LIT YOUR GEM ON FIRE!

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:45pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/106 "2007-09-25T22:45:19Z")

</div>

Pit C. wrote:

> Chad, why does tattle depend on the hoe and rubyforge gems?

Or alternatively, why isn’t hoe and rubyforge /in/ rubygems?

Later,

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:46pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/107 "2007-09-25T22:46:28Z")

</div>

On 1/9/07, Bil K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Pit C. wrote:
> 
> > Chad, why does tattle depend on the hoe and rubyforge gems?
> 
> Or alternatively, why isn’t hoe and rubyforge /in/ rubygems?

I think that’s a fair question.

I’m not answering it, but it’s a good question. 😉

Seriously, worth a chat on rubygems-developers, I think.

Chad

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:46pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/108 "2007-09-25T22:46:28Z")

</div>

On 1/12/07, Nathaniel T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On 1/12/07, Gregory S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Default: no prompt, no install  
> > -Y: no prompt, install  
> > –optional-dependencies: prompt
> 
> A way to install the optional dependencies for an already-installed  
> gem would be great, too. I’m not thinking of a great syntax off the  
> top of my head, though.

does this need an option?

wouldn’t gem install ruport -v 0.6.0 -Y do the trick?

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:47pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/109 "2007-09-25T22:47:04Z")

</div>

On 1/12/07, Jeremy McAnally [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> But the question is would the hoe developers use this? They seem  
> fairly stuck on this whole idempotentence kick.

As far as I’m concerned, optional dependencies preserve idempotency,  
and based on Eric’s earlier statements on this thread, he seems to  
agree. If we get optional dependencies in Rubygems and hoe doesn’t  
become optional, then I’ll start clamoring, too 🙂

–  
Nathaniel T.

\<:((\>\<

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:49pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/110 "2007-09-25T22:49:06Z")

</div>

Or maybe --add-optional-dependencies.

It’s kind of verbose. -add-all-dependencies is shorter and might also  
work…

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:49pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/111 "2007-09-25T22:49:51Z")

</div>

On Sat, Jan 13, 2007 at 09:30:34AM +0900, Chris C. wrote:

> > You may not realize it, but you want idempotence, too. One of the  
> > -austin  
> > […]  
> > So if I were to spend this weekend getting optional/developer-time  
> > dependencies into RubyGems, would people want optional dependencies to  
> > always be prompted, only prompted when a flag is given, or never  
> > prompted?

Default: no prompt, no install  
-Y: no prompt, install  
–optional-dependencies: prompt

> Chris C.  
> –Greg

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:49pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/112 "2007-09-25T22:49:50Z")

</div>

On 1/12/07, Jeremy McAnally [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> But the question is would the hoe developers use this? They seem  
> fairly stuck on this whole idempotentence kick.

Does that really matter? On more than one occasion, Eric and Ryan  
have made it clear they simply do not care whether the users of their  
software are happy with their decisions in this and other projects.

They’re lucky to be talented enough where this kind of stubbornness  
doesn’t seem to effect them much. It’s their code, so it’s their  
decision how they package things.

I’ll be honest, I’d like to give hoe a try, but I won’t use it if it  
continues to inject itself as it is. Not because I think that Ryan  
and Eric are evil or even necessarily _wrong_ about this, but because  
I personally don’t want to be dragging around meta dependencies with  
my code.

So if I do try it out, it’ll likely be via Evan’s forked echoe  
project. Sucks to have to do that, but eh, that’s the nature of the  
beast.

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:52pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/113 "2007-09-25T22:52:36Z")

</div>

> On 1/12/07, Gregory S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Default: no prompt, no install  
> > -Y: no prompt, install  
> > –optional-dependencies: prompt

Might be nice if the default at list listed them for a second before  
continuing. I know some of the FreeBSD ports will spit out a message  
saying “you can optionally set such and such to build such and such,  
press  
ctrl-c now” and gives you about 5 seconds before it keeps on going.

That way at least you’d see the optional dependencies and could bail out  
if you decide you want them, but not be annoyed (too much) if you don’t.

---

<div class="post-metadata">

**Author:** ![Chad\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/7ba0ec/32.png) [@Chad\_F](https://www.ruby-forum.com/u/Chad_F)\
**Post date:** [September 25, 2007, 10:52pm UTC](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407/114 "2007-09-25T22:52:16Z")

</div>

Bil K. wrote:

> ## Regards,
> 
> Bil K.  
> [Ruby Wish List](http://kleb.tadalist.com/lists/public/427170)  
> Yeah … I would have no problem with what tattle sent to the web site  
> on any of my three machines either. But it’s better to check than run  
> the risk of getting written up in a corporate setting. Most folks work  
> in places that “tolerate” Internet use among employees but if you read  
> the corporate policy, you’ll find that there are a lot of things you  
> can’t do. Sending even that minuscule amount of system configuration  
> info somewhere is most likely a no-no in a lot of companies.

–  
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)  
[http://borasky-research.blogspot.com/](http://borasky-research.blogspot.com/)

If God had meant for carrots to be eaten cooked, He would have given  
rabbits fire.

[Previous page](https://www.ruby-forum.com/t/tattle-the-ruby-census/81407.md?page=5)
