def ask_for_many plural_name, name=nil
name ||= plural_name.gsub(/s$/, "")
stuff = []
while true
puts
puts "Current #{plural_name}:"
if stuff.empty?
puts "None!"
else
stuff.each_with_index { |c, i| puts " #{i + 1}) #{c}" }
end
puts
ans = ask "(A)dd #{name}, (r)emove #{name}, or (d)one"
case ans
when "a", "A"
ans = ask "#{name.capitalize} name", ""
stuff << ans unless ans =~ /^\s*$/
when "r", "R"
ans = ask "Remove which #{name}? (1--#{stuff.size})"
stuff.delete_at(ans.to_i - 1) if ans
when "d", "D"
break
end
end
stuff
end