# Command-set 0.9.0 Released

**URL:** <https://www.ruby-forum.com/t/command-set-0-9-0-released/125438>\
**Category:** Ruby\
**Created:** [January 9, 2008, 4:11am UTC](https://www.ruby-forum.com/t/command-set-0-9-0-released/125438 "2008-01-09T04:11:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [January 9, 2008, 4:11am UTC](https://www.ruby-forum.com/t/command-set-0-9-0-released/125438/1 "2008-01-09T04:11:33Z")

</div>

command-set version 0.9.0 has been released!

CommandSet is a interactive program framework. Its focus is a DSL for  
defining commands, much like Rake or RSpec. The actual interpreter is  
left as an open question, although a default readline based terminal  
interpreter is included, it could very well be adapted to interact with  
CGI or a GUI.

Changes:

\*\* Marked release 0.9.0 \*\*

Command-sets can now have arguments, which their commands  
can partake of using the parent\_arguments method.

CommandSets retain their arguments if used as a mode, so it’s now easy  
to do  
something like “config virtual web\_servers” and have “web\_servers”  
available  
as an argument to child commands - and also have “config virtual  
web\_servers  
add ip\_17” and have that work as you might expect. (If you’ve used IOS  
on a  
load balancer…)

Some back end changes - including (and huge) a visitor pattern that  
takes  
over positional command processing, completion, and other “where am I  
now?”  
type functions.

sub\_command arguments - so that you can more naturally group commands  
that  
share arguments and issue commands like “tell seven delete” or  
something.

Subject based argument bases. Otherwise, how do we refer easily  
to elements of the subject. Besides, why do complete, validate and  
parse  
all take a “subject” parameter? This was why.

Updated DSL::Formatting - now list and item stuff works from anywhere

Removing diagramming as an option: not portable enough

Project: [http://rubyforge.org/project/commandset/](http://rubyforge.org/project/commandset/)  
Homepage: [http://commandset.rubyforge.org/](http://commandset.rubyforge.org/)
