Емил обнови решението на 27.12.2012 11:06 (преди около 12 години)
+REPOSITORY = 'http://github.com/egotsev/ruby-retrospecive-2'
+# 20 неща, които съм научил:
+# 1. Използването на self в тялото на класа е излишно освен в няколко случая като например self.class или за създаване на класов метод.
+# 2. Научих как по удобен начин да използвам Range#select вместо да създавам "ръчно" нов масив и да добавям в него елементи при дадено условие.
+# 3. Научих как да използвам Enumerable#map за обхождане и манипулация на елементите на колекция, вместо да създавам нова и да добавям елементи в нея обхождайки старата с #each.
+# 4. Използвайки метода Enumerable#group_by, Hash#group_values се имплементира на един ред.
+# 5. Методите не трябва да връщат обекти с каквито и да било недокументирани свойства.
+# 6. Kолко пъти един елемент се съдържа в масив може да се провери много лесно с Array#count
+# 7. Не винаги е добра идея да се използва attr_accessor. Макар че е кратко, е възможно да издава повече от необходимото вътрешната имплементация. В някои случаи е по-подходящо да се използва само attr_reader.
+# 8. Обектно-ориентираният подход не винаги е най-подходящ - функционалният подход често пъти е по-прост и елегантен.
+# 9. Мога да подавам символи като аргументи на функция, които да се конвертират към Proc.
+# 10. Името на класа може да се изпуска при извикване на new в класов метод.
+# 11. Инициализацията на 2 и повече променливи може да става на един ред.
+# 12. Скобите се изпускат, където е възможно.
+# 13. Поставянето на повече празни символи с цел нещата да изглеждат по-подредени е добра идея.
+# 14. Трябва да се пише, колкото се може по-DRY код. Например в йерархия от класове, повтарящ се код да се изнася в родителя.
+# 15. Регулярните изрази могат да се интерполират.
+# 16. Често използвани обекти, които не се мутират, е добре да се изнасят като константа в модул/клас.
+# 17. Regexp#=== връща boolean
+#
+#
+#