Пета задача

  1. @Георги, да, при успех след commit, върнатият обект трябва да има метод result, който да съдържа обект, представляващ последния commit - реално същото, което би ти върнало repo.head.result. Т.е., repo.commit(...).result == repo.head.result.

  2. @Анджелин, няма защо - и аз благодаря за коментарите - оправих си 3-4 пропуска. :D

    За твоя, обаче няма да се съглася: интерфейсът е следния: repo.checkout(hash) #=> message: "Commit hash does not exist.", в спека понеже няма много смисъл да генерирам SHA1 на стринг, който да подам на checkout просто се опитвам да чекаута commit, чиито хеш е 'blah'. Да, не прилича на хеш, но а) не се върши допълнителна работа в спек-а, която може да въведе грешки, които не са свързани със самото решение, б) 100% това няма да сработи и ще даде неуспешен резултат, което се опитваме да тестваме. За да е още по-обстоен теста, може да се добави още един екзампъл, в кaто се прави къмит, и после се опитва да се чекаутне този къмит по message и се очаква грешка.

  3. Точките от пета задача са live.

    Все още много от вас нарушават стиловите конвенции, заложени в ръководството по стил.

    Препоръчвам на всеки да си прегледа грешките спрямо нашите тестове и да помисли каква е причината за грешката, след което да прегледа нашето примерно решение, както и да хвърли едно око на решенията на колегите си.

  4. @Пепа, проблемът ти е, че в кода имаше един require 'binding_of_caller', което се оптива да зареди някакъв външен gem, който явно ти си си инсталирала, но това не е част от стандартната Ruby библиотека и го няма там, където пускаме тестовете. Грешката ти си е грешка и не е трябвало да го правиш – в никоя задача не е позволено ползването на външни gem-ове, освен ако не сме го указали изрично. Понякога е допустима употребата на неща от стандартната библиотека на Ruby, които също се зареждат с require, но в твоя случай това не е окей.

    Въпреки това, правим компромис в твоя случай. Изтрил съм проблемния ред код и съм пуснал тестовете отново. Вече си над нула точки.

Трябва да сте влезли в системата, за да може да отговаряте на теми.