When using a while loop confirm there is a break from the loop as you run methods. An infinite loop will occur otherwise. def room_service(menu) while choice != ‘breakfast’ case menu when ‘lunch’ break puts "1100-1400" when ‘dinner’ break puts "1600-2000" when ‘late-night’ break puts "2100-200" end end end :)

When a singleton is needed create instances of the class, not new object references. Ruby ensures you cannot break this pattern. require ‘singleton’   class FamilyDinner   include Singleton   class << self def side_dishes; end def main_course; end def drinks; end end   end   puts fd = FamilyDinner.instance puts fd = FamilyDinner.new   #=> <FamilyDinner:0x007fbdd3960120> #=> singleton.rb:16:in `<main>’: private method `new’ called for FamilyDinner:Class (NoMethodError) :)