Hi all. Don't know if this is the right place, but I've just started learning Ruby and I was wondering if there's any more experienced rubyists out there that would be willing to critique my first bit of code or point me to another forum/community that could help a newbie out.

I want to know if the code can be improved in any way to make it more elegant, efficient, or readable. Yes, I know that a lot of the time increasing one sacrifices another - basically, would you do this any different? Also, do let me know if I'm breaking any ruby conventions or whatnot.

So, without further ado, the code:

init.rb
Code:
#require
require './Utils/textMenu'

#prep - in a 'final' version a menu could be loaded from a file
options = []
('A'..'F').each do |letter|
	options << "Option #{letter}"
end
menu = TextMenu.new('Please select an option', options, {'w' => 'Wipe hard disk', 'q' => 'Quit'})

#start
while true
	selection = menu.show
	Process.exit if selection == 'q'
	puts "\nSelected '" + selection.to_s + '\''
	puts 'Formatting hard disk! Mwuhahaha!!' if selection == 'w'
end
./Utils/textMenu.rb
Code:
class TextMenu
	#ACCESSORS
	attr_accessor :title, :itemArr, :optionHash
	
	#CONSTRUCTOR
	def initialize(title, itemArr, optionHash)
		@title = title
		@itemArr = itemArr
		@optionHash = optionHash
	end

	#PUBLIC METHODS
	def show
		puts "\n#{title}"
		itemCount = 0
		@itemArr.each do |item|
			itemCount += 1
			puts "[#{itemCount}] - #{item}"
		end
		@optionHash.each_pair do |key, value|
			puts "[#{key}] - #{value}"
		end
		selection = prompt.chomp!
		if @optionHash.has_key?(selection)
			selection
		elsif (0..itemCount) === selection.to_i and @itemArr[selection.to_i - 1] then
			@itemArr[selection.to_i - 1]
		else
			puts "Invalid selection (#{selection}), please try another"
			show
		end
	end
	
	def prompt(prompt='>>')
		print prompt
		gets
	end
  
	#PRIVATE METHODS
	private
end