Little stuck on final project


#1

the below code is giving me an error of:
todo.rb:66:in <class:List>': undefined local variable or methodshow' for List:Class (NameError)
_ from todo.rb:27:in `'_

Where am I going wrong? Thanks

module Menu
def menu
"Welcome to my ToDo list program!
This menu will help you use the Task system
1) Add
2) Show
3) Write to a File
4) Read from a File
Q) Quit "
end

def show
	menu
end

end

module Promptable
def prompt(message = "What would you like to do", symbol = ":> ")
print message
print symbol
gets.chomp
end
end

class List
attr_reader :all_tasks
def initialize
@all_tasks = [ ]
end
def add(task)
all_tasks << task
end

def show
	all_tasks
end

def write_to_file(filename)
	IO.write(filename, @all_tasks.map(&:to_s).join("\n"))
end
def read_from_file(filename)
	IO.readlines(filename).each do |line|
		add(Task.new(line.chomp))
end

end

class Task
attr_reader :description

def initialize(description)
	@description = description
end

def to_s
	description
end

end

if FILE == $PROGRAM_NAME
include Menu
include Promptable
my_list = List.new
puts "Please choose from the following list"
until ["q"].include?(user_input = prompt(show).downcase)
case user_input
when "1"
my_list.add(Task.new(prompt("What is the task you would like to accomplish")))
when "2"
puts my_list.show
when "3"
my_list.write_to_file(prompt("What is the filename to write to?"))
when "4"
my_list.read_from_file(prompt("What is the filename to read from?"))

			else
				puts "Sorry I didn't understand?"
			end
			prompt("Press enter to continue", " ")
		end
	puts "Outro - Thanks for using the menu system!"

end

end