Как стать автором
Обновить

Комментарии 11

Спасибо, gem весьма полезный, надоело уже логи в vimе смотреть.

Можно ограничить доступ к этой странице и без Devise.
  mount Tail::Engine, at: "/tail", :constraints => AdminRestriction


  class AdminRestriction
    def self.matches?(request)
      admin = request.env['rack.session'][:admin]
      if admin === ENV['ADMIN_TOKEN']
        return true
      else
        return false
      end
    end
  end

И сделать страницу, где по вводу логина и пароля будет создана кука admin = ENV['ADMIN_TOKEN']
вот если честно, то мне не очень нравится такое решение… это доп функциональность, не самая безопасная, эти пароли надо потом где-то хранить, шифровать, а потом снова получается devise.

идеального решения в данном случае я не знаю, разве что при установке регистрировать нового пользователя в devise и/или cancan подключать…

что бы это ни было, пока не хочу прикручивать в gem'у решение, которое будет в разы сложнее его самого. но если есть желание — всегда пожалуйста.
Вы не должны заморачиваться аутентификацией у себя — это забота пользователя.

С использованием Devise пользователь вашега гема может сам настроить аутентификацию как надо, пример:

config/routes.rb
authenticate :user, lambda { |u| u.permissions.include?("manage_everything") } do
  mount Sidekiq::Web, at: '/sidekiq'
end

В этом примере мы на стороне приложения сами ограничиваем доступ к engine'у, но ещё и требуем, чтобы пользователь был полным админом (в терминах нашего приложения).

Так что смело выкидывайте ненужное из своего гема, а в README пропишите аналогичный сниппет (а сниппет gooseman'а подойдёт для тех, кому надо без Devise).
А кусок мороженого мяса на картинке для чего?
этот кусок необработанного ruby gem призван показать потенциальное несовершенство решения и призвать к его совершенствованию.
как-то так…
Для анализа 500-х ошибок, ИМХО, лучше использовать что-то вроде exception_notification и обязательно настроить оповещения о письмах на телефоне. И логи грепать не надо (полная инфа со всеми параметрами и окружениями приходит на почту) и когда после очередного деплоя телефон начнёт буквально разрываться — сразу понятно, что что-то где-то пошло не так.

Лично у меня пока особой необходимости грепать логи не было, но в любом случае — спасибо за гем и подробное руководство.
Да, да и по 10к писем в почте.
Да, бывает такое. Это сигнализирует о недостатке тестирования перед выкаткой в продакшн.
Окей, я забыл про эпловскую иконку и получал 10к писем в сутки, но заняться эпловской иконкой смог только через неделю.
10-20к писем в день — супер :)
exceptional.io или airbrake.io в этом плане удобнее.
Спасибо за статью!

> Не знаю, как у кого, а вот у меня регулярно бывает ситуация — прикрутил новую фичу локально, проверил, вроде работает. Запускаешь cap deploy, смотришь на сервер, а там…

Попробуйте rollbar или аналоги. Если захочется, можно развернуть свой сервер сбора ошибок.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории