Работа с датами и тестирование в рельсах - PullRequest
1 голос
/ 30 апреля 2011

Мое приложение часто использует даты. Многие ajax-вызовы и URL-адреса связаны с датами и временем, и я нахожу типичный формат «1920-10-10 18:30:00» неприемлемым для этих целей. Я работаю над этим путем создания вспомогательного метода, который в основном удаляет ненужные символы из даты (192010101830), и другого метода для преобразования строки обратно в объект даты.

Когда я создаю URL, он выглядит примерно так:

=link_to "Send Date", thing_my_date_path(date_to_string(DateTime.now))

Затем, когда поступает действие thing_date, оно преобразует параметр обратно в объект datetime

def my_date
  @date = string_to_date(params[:mydate])
  ....
end

Это отлично работает в разработке. Однако я полностью открыт для других предложений.

Проблема в том, когда я иду проверить свое приложение. Тесты не пройдены, поскольку вспомогательные методы для date_to_string и string_to_date отсутствуют. Я мог бы включить их в тесты, но я чувствую, что они должны храниться отдельно.

Итак, я ищу
а) лучший способ обмениваться датами, и что более важно

b) метод тестирования действия, зависящий от вспомогательных методов.

1 Ответ

3 голосов
/ 30 апреля 2011

Для этого есть встроенные методы.

> DateTime.now.to_s(:number)
=> "20110429162748" 
> DateTime.parse("20110429162748")
=> Fri, 29 Apr 2011 16:27:48 +0000 

Надеюсь, это поможет ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...