Gem, находящий проблемы в Rails приложении

—

от автора

Приветствую, уважаемые хабравчане.
Уже некоторое время вынашиваю идею написания гема, который мог бы находить типичные ошибки при разработке приложений на Ruby On Rails.

Больше всего меня достали:
1. Отсутствие индексов в базе данных на ключи ассоциаций
2. Нахождение дублирующих ключей в файлах локализации
3. Поиск отсутствующих переводов
4. Строки — одинарные и двойные кавычки
5. Экспорт

Отсутствие индексов в базе данных на ключи ассоциаций

class User < ActiveRecord::Base   has_many :comments # без индекса на ключ user_id в модели Comment ассоциация будет работать медленнее ... end 

При желании можно будет автоматически добавить недостающие индексы автоматически сгенерировав миграцию

def AddIndexToComments < ActiveRecord::Migration   def change     add_index :comments, :user_id   end end 

Нахождение дублирующих ключей в файлах локализации


config/locales/ru.yml

welcome:   user: Добро пожаловать ... # ближе к концу файла welcome:   user: Здравствуйте 

Если мы вызовем данный перевод

I18n.t('welcome.user') # то получим "Здравсвуйте" 

Что может вызвать недоумение, так как ищем мы обычно сверху-вниз и менять будем только первый перевод, который никак не будет влиять на вывод I18n и даже перезапуск сервера нам не поможет 🙂

Поиск отсутствующих переводов

%title= t('title') # в файле локализации данный перевод отсутствует, сверху при получении подтверждения от пользователя добавим TODO 

Или же можно добавлять в файл локали переводы с текстом TODO для того, чтобы можно было за один раз добавить все отсутствующие переводы.

Строки — одинарные и двойные кавычки

Вывод статистики и автоматическое исправление строк с двойными кавычками на одинарные, которые работают быстрее, так как при выполнении кода не происходит поиск специальных символов внутри строки.

"Welcome" # Привратится в 'welcome' # Эта строка останется нетронутой "Welcome #{name}" 

Экспорт

Экспорт отчета в html формат, по умолчанию будет использоваться текстовый режим. Для генерации будет использоваться дополнительный gem, который будет генератором красивого html.

Интересно было бы услышать ваше мнение.

ссылка на оригинал статьи http://habrahabr.ru/post/162059/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *