If you convert that into a general tag I can throw that into
hobo-contrib or maybe even into Rapid itself...
First pass (probably won't even compile):
<def tag="radio-button" attrs="option">
<%= radio_button_tag(param_name_for_this, option, (option==this),
attributes) %>
</def>
<def tag="radio-button-item" attrs="option, id">
<radio-button option="&option" value="&value" id="&id" param />
<label for="&id" param />
</def>
<def tag="radio-group" attrs="options, labels">
<% labels ||= [] %>
<% options.each_with_index do |option, index| -%>
<radio-button-item option="&option"
id="#{param_name_for_this}[#{index}]">
<label:><%= labels[index] || option %></label:>
</radio-button-item>
</def>
and to use
<def tag="input" for "ArticleStatus">
<radio-group options="ArticleStatus.values">
</def>
The user would probably want to extend radio-button-item as well....
Bryan