Запустил ваш исходник и обнаружил, что в начале, при выборе (memo task link) не корректно работает проверка. Пользователь может ввести любую букву или просто нажать Enter и это будет приравнено к memo. Кажись пары проверок не хватает.)
Совсем забыл. При попытке прочитать Link или Task с помощью --id на экран не попадает текст.
Здесь просто читаю всё.
C:\rubytut2\lesson12\notepad_v2>ruby read.rb
| id | @type | @created_at | @text | @url | @due_date
| 5 | Lik | 2016-03-02 02:38:33 +0300 | ggggg | empty,op |
| 4 | Memo | 2016-03-02 02:20:57 +0300 | Где мой id(((( | |
| 3 | Task | 2016-02-28 00:11:19 +0300 | Проверить работу ead | | 2016-02-29
| 2 | Lik | 2016-02-28 00:09:59 +0300 | Онлайн курсы | goodpogamme.u |
| 1 | Memo | 2016-02-28 00:09:04 +0300 | Проверка работы ew_post | |
А здесь только link
C:\rubytut2\lesson12\notepad_v2>ruby read.rb --id 2
Запись Link, id = 2
goodprogrammer.ru
Создано: 2016.02.28, 00:09:59
C:\rubytut2\lesson12\notepad_v2>
Никак не найти причину.