# Interactive Rake Tasks

**URL:** <https://www.ruby-forum.com/t/interactive-rake-tasks/145661>\
**Category:** Ruby\
**Created:** [August 12, 2008, 5:43pm UTC](https://www.ruby-forum.com/t/interactive-rake-tasks/145661 "2008-08-12T17:43:06Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![sjmadsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b3f665/32.png) [@sjmadsen](https://www.ruby-forum.com/u/sjmadsen)\
**Post date:** [August 12, 2008, 5:43pm UTC](https://www.ruby-forum.com/t/interactive-rake-tasks/145661/1 "2008-08-12T17:43:06Z")

</div>

Anyone have a guide or a good example gem/rake task that prompts the  
user for input and does logic based on it?

I want to write an interactive installer for a plugin.

---

<div class="post-metadata">

**Author:** ![sjmadsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b3f665/32.png) [@sjmadsen](https://www.ruby-forum.com/u/sjmadsen)\
**Post date:** [August 12, 2008, 7:34pm UTC](https://www.ruby-forum.com/t/interactive-rake-tasks/145661/2 "2008-08-12T19:34:12Z")

</div>

Steve M. wrote:

> Anyone have a guide or a good example gem/rake task that prompts the  
> user for input and does logic based on it?
> 
> I want to write an interactive installer for a plugin.

Might be overkill but Radiant CMS has a task called rake dn:bootstrap  
that asks some questions at the end. Would that help?

Cheers,  
Mohit.  
8/13/2008 | 1:30 AM.

---

<div class="post-metadata">

**Author:** ![sjmadsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b3f665/32.png) [@sjmadsen](https://www.ruby-forum.com/u/sjmadsen)\
**Post date:** [August 12, 2008, 7:39pm UTC](https://www.ruby-forum.com/t/interactive-rake-tasks/145661/3 "2008-08-12T19:39:30Z")

</div>

Mohit S. wrote:

> Steve M. wrote:
> 
> > Anyone have a guide or a good example gem/rake task that prompts the  
> > user for input and does logic based on it?
> > 
> > I want to write an interactive installer for a plugin.
> 
> Might be overkill but Radiant CMS has a task called rake dn:bootstrap  
> that asks some questions at the end. Would that help?

Looking through the source for Radiant shows that you should see:  
[http://dev.radiantcms.org/browser/trunk/radiant/lib/tasks/database.rake](http://dev.radiantcms.org/browser/trunk/radiant/lib/tasks/database.rake)  
which connects to:  
[http://dev.radiantcms.org/browser/trunk/radiant/lib/radiant/setup.rb](http://dev.radiantcms.org/browser/trunk/radiant/lib/radiant/setup.rb)

Hope this helps.

Cheers,  
Mohit.  
8/13/2008 | 1:38 AM.

---

<div class="post-metadata">

**Author:** ![sjmadsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b3f665/32.png) [@sjmadsen](https://www.ruby-forum.com/u/sjmadsen)\
**Post date:** [August 12, 2008, 7:49pm UTC](https://www.ruby-forum.com/t/interactive-rake-tasks/145661/4 "2008-08-12T19:49:28Z")

</div>

Thanks Mohit, that helps, I see the ask and agree methods there, I  
should be able to follow from here.

Steve

---

<div class="post-metadata">

**Author:** ![sjmadsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b3f665/32.png) [@sjmadsen](https://www.ruby-forum.com/u/sjmadsen)\
**Post date:** [August 12, 2008, 8:46pm UTC](https://www.ruby-forum.com/t/interactive-rake-tasks/145661/5 "2008-08-12T20:46:24Z")

</div>

[http://highline.rubyforge.org/doc/](http://highline.rubyforge.org/doc/)

---

<div class="post-metadata">

**Author:** ![sjmadsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b3f665/32.png) [@sjmadsen](https://www.ruby-forum.com/u/sjmadsen)\
**Post date:** [August 12, 2008, 9:55pm UTC](https://www.ruby-forum.com/t/interactive-rake-tasks/145661/6 "2008-08-12T21:55:03Z")

</div>

On Tue, Aug 12, 2008 at 2:43 PM, d c [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> [http://highline.rubyforge.org/doc/](http://highline.rubyforge.org/doc/)

Second this.

–  
Avdi

Home: [http://avdi.org](http://avdi.org)  
Developer Blog: [Avdi Grimm, Code Cleric](http://avdi.org/devblog/)  
Twitter: [http://twitter.com/avdi](http://twitter.com/avdi)  
Journal: [http://avdi.livejournal.com](http://avdi.livejournal.com)

---

<div class="post-metadata">

**Author:** ![sjmadsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b3f665/32.png) [@sjmadsen](https://www.ruby-forum.com/u/sjmadsen)\
**Post date:** [August 12, 2008, 9:59pm UTC](https://www.ruby-forum.com/t/interactive-rake-tasks/145661/7 "2008-08-12T21:59:14Z")

</div>

It looks like the radiant tasks I looked at were using highline, this is  
perfect, thanks.

Avdi G. wrote:

> On Tue, Aug 12, 2008 at 2:43 PM, d c [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > [http://highline.rubyforge.org/doc/](http://highline.rubyforge.org/doc/)
> 
> Second this.
> 
> –  
> Avdi
> 
> Home: [http://avdi.org](http://avdi.org)  
> Developer Blog: [Avdi Grimm, Code Cleric](http://avdi.org/devblog/)  
> Twitter: [http://twitter.com/avdi](http://twitter.com/avdi)  
> Journal: [http://avdi.livejournal.com](http://avdi.livejournal.com)
