Во-первых, спасибо всем за ваши ответы. Это был мой первый вопрос, и, к сожалению, он вышел немного искаженным, но все вы, кажется, понимали его очень хорошо.
ИМХО, что я пытался сделать рекурсию, но я не уверен, что это лучшее место для этой дискуссии.
Я использую Ruby 1.8.7, о котором я, вероятно, должен был упомянуть в начале поста. Решение Райана сработало, но только когда я убрал ссылки на «себя» и подставил в переменную экземпляра:
@user_password = ask_for_password("Enter your admin password") #instead of
self.user_password = ask_for_password("Enter your admin password")
это может быть необязательно для Ruby 1.9, но у него есть преимущество в том, что он делает простосупер почти идентичным Райану.
Еще раз спасибо всем! Это был отличный опыт "промокания ног".