# ANN: ruby-snarl

**URL:** <https://www.ruby-forum.com/t/ann-ruby-snarl/101779>\
**Category:** Ruby\
**Created:** [August 7, 2006, 10:28pm UTC](https://www.ruby-forum.com/t/ann-ruby-snarl/101779 "2006-08-07T22:28:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![patrickharlan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/77aa72/32.png) [@patrickharlan](https://www.ruby-forum.com/u/patrickharlan)\
**Post date:** [August 7, 2006, 10:28pm UTC](https://www.ruby-forum.com/t/ann-ruby-snarl/101779/1 "2006-08-07T22:28:17Z")

</div>

Envious of autotest/growl integration, but stuck in Win32 land? Well  
come checkout ruby-snarl - the initial release includes full support  
of autotest, but can be used for most any application that needs an  
attractive GUI notification tool.

Background  
I watched zenspider’s movie  
([http://blog.zenspider.com/archives/2006/07/autotest\_no\_lon.html](http://blog.zenspider.com/archives/2006/07/autotest_no_lon.html)) of  
autotest and the cute growl status notifications and had another  
moment of Mac envy. My job keeps me firmly in Win32 and Linux and a  
new Mac is a hard sell to the office manager, so I had to find another  
way to fill feed my eye candy/work float addiction.

At the RubyMI ([http://rubymi.org/](http://rubymi.org/)) meeting one of our wonderful  
members mentioned that there was a Win32 growl like notifier called  
snarl ([http://www.fullphat.net/snarl.html](http://www.fullphat.net/snarl.html)), it is not as good as  
growl, but appears to be under active development and has the basics  
in place. So I wrote a Ruby interface  
([http://rubyforge.org/projects/ruby-snarl/](http://rubyforge.org/projects/ruby-snarl/)), which is available as a  
gem. Note you must download and install snarl for this to work.

Have fun  
pth

---

<div class="post-metadata">

**Author:** ![patrickharlan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/77aa72/32.png) [@patrickharlan](https://www.ruby-forum.com/u/patrickharlan)\
**Post date:** [August 8, 2006, 8:07am UTC](https://www.ruby-forum.com/t/ann-ruby-snarl/101779/2 "2006-08-08T08:07:58Z")

</div>

Patrick H. wrote:

> Envious of autotest/growl integration, but stuck in Win32 land? Well  
> come checkout ruby-snarl - the initial release includes full support  
> of autotest, but can be used for most any application that needs an  
> attractive GUI notification tool.

Ah, excellent, didn’t know about snarl, with ruby bindings it might be  
really useful.

Though few points,  
I’d like clarification in the rdoc that zero timeout is the same as  
infinite timeout (maybe a constant for it even?)

And the update method doesn’t check for the icon being nil before  
trying to expand the path, so I can’t give nil for it (which is  
actually the default)

Also the examples 2-4 seem to use a number for the icons, but again,  
it tries to expand the path and fails. I guess it’s supposed to be the  
timeout?

Otherwise it seems perfect, thank you for it =)

---

<div class="post-metadata">

**Author:** ![patrickharlan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/77aa72/32.png) [@patrickharlan](https://www.ruby-forum.com/u/patrickharlan)\
**Post date:** [August 8, 2006, 1:59pm UTC](https://www.ruby-forum.com/t/ann-ruby-snarl/101779/3 "2006-08-08T13:59:32Z")

</div>

On 8/8/06, Mikko L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Ah, excellent, didn’t know about snarl, with ruby bindings it might be  
> really useful.

My thoughts exactly – it (snarl), is poorly publicized, but seems  
stable and useful.

> I’d like clarification in the rdoc that zero timeout is the same as  
> infinite timeout (maybe a constant for it even?)

Fixed in docs and added a NO\_TIMEOUT constant.

> And the update method doesn’t check for the icon being nil before  
> trying to expand the path, so I can’t give nil for it (which is  
> actually the default)

Fixed – this is why I need tests and this at least I can test for –  
I will add some interface tests today.

> Also the examples 2-4 seem to use a number for the icons, but again,  
> it tries to expand the path and fails. I guess it’s supposed to be the  
> timeout?

Yup, initially I did not support icons, the examples will be fixed later  
today.

> Otherwise it seems perfect, thank you for it =)

You are very welcome, thanks for finding my rough edges  
pth
