Вызов API Mixpanel только в рабочей среде Rails - PullRequest
3 голосов
/ 28 февраля 2011

В настоящее время я использую mixpanel со значением по умолчанию 'mixpanel' gem для аналитики, и в моих контроллерах настроены некоторые вызовы. Я хотел бы, чтобы эти звонки выполнялись только в производственной среде. Это лучший способ сделать это примерно так для каждого звонка:

@mixpanel.track_event("Job Accepted", {:user=> current_user.id}) if RAILS_ENV == 'production'

Похоже на излишество, но я изо всех сил пытаюсь найти лучшее решение. Любая помощь будет отличной!

Ответы [ 3 ]

4 голосов
/ 03 января 2015

более старый вопрос, но вот мой метод. Замените стандартного потребителя Mixpanel (который отправляет его API) чем-то более полезным в тестировании В нашем случае мы просто выходим из системы. Это в инициализаторе, как mixpanel.rb.

if Rails.env.production?
  MIXPANEL = Mixpanel::Tracker.new(ENV['MIXPANEL_TOKEN'])
else
  MIXPANEL = Mixpanel::Tracker.new(ENV['MIXPANEL_TOKEN']) do |type, message|
     Rails.logger.debug("Mixpanel Request: #{type}, #{message}")
  end
end
4 голосов
/ 01 марта 2011

У вас правильная идея. Хотя вы можете использовать:

Rails.env.production?

вместо этого. (См. Rails.env против RAILS_ENV )

1 голос
/ 07 августа 2012
...