Maksym Prokopov personal blog
Idea is a something worth sharing

Ruby on Rails хозяйке на заметку: менеджер локальных сайтов Pow

12.04.2011

Чрезвычайно удобной оказалась возможность работы с несколькими сайтами на базе RoR (по факту на Rack), которую предоставляет утилита Pow.

Вкратце, если у вас достаточно много сайтов разработке, утилита предоставляет хук в DNS зону dev и позволяет обращаться к вашим сайтам по url вида http://myapp.dev , http://myapp2.dev, а также добавляет правило в фаерволе, которое заворачивает обращения к self с порта 80 на внутренний порт утилиты.

Сам Pow состоит из двух частей — DNS responder и проксирующего web server. Реализовано все счастье на Node.js.

Очень интересна реализация зоны .dev, в mac os в каталоге /etc/resolver/ добавляется файл dev такого вида:

nameserver 127.0.0.1 port 20560

что перенаправляет все обращения xxx.dev на соответствующее приложение

 

Утилита поддерживает работу с RVM, что позволяет упражняться с различными версиями руби.

Для поддержки в rails 2 через Pow можно воспользоваться таким хаком, создаем в корне приложениея config.ru, где прописываем

Деинсталляция также проста:

curl get.pow.cx/uninstall.sh | sh
# Rails.root/config.ru
require "./config/environment"
run ActionController::Dispatcher.new

Утилита что-то наподобие denwer для php.

 

Cucumber говорит по-русски

26.12.2009

Для тех ребят, которые увлекаются канбанами, TDD и прочими agile системами разработки следующим шагом является приобщение к BDD.

По-сути Cucumber представляет собой интеграционные тесты при помощи webrat или других высокоуровневых библиотек для эмуляции работы браузера, открывания странц, нажимания на кнопки и кликания по ссылкам.

Теперь с cucumber жить еще проще, рассказывать по-русски можно при помощи тега

@language ru

Типичный сценарий:

# language: ru
Функционал: отчеты по времени
  Чтобы получить понятие о стоимости часа для конкретной компании
  Я как руководитель
  Хочу иметь возможность просматривать отчеты по временным затратам на каждую компанию

Предыстория:
  Допустим существует клиент, админ и сотрудник клиента

Сценарий: просмотр суммарно затраченного времени за текущий месяц
  Допустим админ авторизован
  И открывет страницу отчетов
  То видит список клиентов с затраченным временем за последний месяц
cucumber тесты по-русски

cucumber тесты по-русски