Class: Spree::Mixpanel::EventHandler
- Inherits:
-
Object
- Object
- Spree::Mixpanel::EventHandler
- Defined in:
- lib/spree_mixpanel/mixpanel.rb
Instance Method Summary collapse
- #handle_event ⇒ Object
-
#initialize(opts = {}) ⇒ EventHandler
constructor
A new instance of EventHandler.
- #mixpanel_perform ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ EventHandler
Returns a new instance of EventHandler.
5 6 7 8 9 10 11 12 |
# File 'lib/spree_mixpanel/mixpanel.rb', line 5 def initialize(opts={}) @opts = opts @event_opts = opts["event_opts"] @event = opts["event"].try(:to_sym) || :track @user_email = opts["user_email"] @order_id = opts["order_id"] @event_name = opts["event_name"] end |
Instance Method Details
#handle_event ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/spree_mixpanel/mixpanel.rb', line 14 def handle_event if has_sidekiq? begin SpreeMixpanelWorker.perform_async(opts) rescue Redis::CannotConnectError Rails.logger.info "Cannot connect with Redis" end else mixpanel_perform end end |
#mixpanel_perform ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/spree_mixpanel/mixpanel.rb', line 26 def mixpanel_perform case event when :user MixpanelTracker.track_user(user_email) when :order MixpanelTracker.track_order(order_id) when :charge MixpanelTracker.track_charge(order_id) when :track MixpanelTracker.track_event(user_email, event_name, event_opts) end end |