Плагин для подсчета посещаемости страниц в Ruby on Rails 7 июля 10

Я написал плагин для подсчета посещаемости избранных страниц Rails-приложения. Взять его можно на http://github.com/leonid-shevtsov/page_visit_tracker, там же посмотреть пример использования и краткую инструкцию.

Можно, конечно, делать это с помощью Google Analytics и вытягивать информацию оттуда, но, по-моему, это слишком сложное решение для такой простой задачи – потому-то и был написан этот плагин.

Я решил, что посещения надо привязывать к объектам модели. Поэтому

class PostsController
  def show
    # ...
    track_page_view(@post)
  end
end

При этом создается новый объект PageView с данными о посещении. Повторные посещения тем же пользователем не учитываются. Посещения ботов тоже не учитываются.

Комментарии

  • rubyfan 8 июля 2010

    по сути очень очень очень редко нужен именно такой узкий фунционал. там просмотр тем форума и т.п. но  и там достаточно инкрементить счетчик, а не использовать плагин.
    вообще такое решение нельзя применять при хоть сколько нибудь большой нагрузке по очевидным причинам. 
    теперь то что мне бросается в глаза.
    page_view.rb часть с фильтер-мап-редюс. имена переменных не о чем не говорят. это плохая практика. нет комментариев.
    запросы конечно очень простые, но это не дб-агностик. раз уж рельсы – сам понимаешь. 
    ну и вообще посылая разные юзер-эдженты можно плотно накрутить счетчик. 
    а так молодец. 

  • rubyfan 8 июля 2010

    hardcoded crawler_agents list is also a bad idea.

Оставить комментарий

  • (или OpenID)
  •