#Ruby on Rails, тестовое задание.
Перед выполнением тестового задания необходимо сделать FORK проекта. Во время выполнения задания часто делать commit.
###Необходимые инструменты.
Во время выполнения тестового задания необходимо использовать систему контроля версий git. (Широко используется в реальной работе). Проект нужно разместить на github.com и на www.heroku.com
Также код необходимо покрыть тестами (модели и контроллеры) с помощью фреймворка для тестирования RSpec 2.
Используемые версии: Ruby 1.9.3 и Rails 3.2
###Задание.
Создать небольшой блог, который будет состоять из:
- Посты (статьи).
- Авторы.
- Теги.
- Комментарии.
Где:
- При выводе нескольких постов использовать постраничное отображение (к примеру, 5 на страницу).
- При отображении поста, показывать список его тегов, название, дату создания и имя автора и собственно контент.
- Должна быть возможность посмотреть список всех постов с заданным тегом (также постранично).
- Должна быть возможность посмотреть список всех постов указанного автора.
- Должен быть реализован вход по паре еmail/пароль.
- Должна быть возможность создания постов, если залогинен.
- Должна быть возможность комментировать посты, если комментарий был создан залогиненым человеком, то должно отображаться имя автора рядом с комментом, если нет, то “Anonymous”.
- Должна быть возможность редактировать своё имя, если залогинен.
- Пост может иметь несколько тегов.
- Форма для создания комментария должна быть на странице отображающей пост.
###Примечания.
Стиль (отступы, скобки, именование переменных) должен соответствовать принятому в rails-сообществе стилю. Читаемость и консистентность это важно.
Для решения задач желательно использовать уже существующие библиотеки (gem’ы) а не изобретать свой велосипед.
Для того чтобы начать использовать Rails глубокого знания Ruby не нужно. Документации много, но на английском.
Полезные ссылки:
По Ruby и Rails:
- http://rubydoc.info/
- http://api.rubyonrails.org
- http://guides.rubyonrails.org
- http://railscasts.com/
По git:
По RSpec2:
- https://www.relishapp.com/rspec/rspec-expectations/docs
- https://www.relishapp.com/rspec/rspec-mocks/docs
- https://www.relishapp.com/rspec/rspec-core/docs
- https://www.relishapp.com/rspec/rspec-rails/docs
Кроме того, есть набор статей на русском по git и rails, rspec2, например на хабре.