Class: Spree::Tracker

Inherits:
Base
  • Object
show all
Defined in:
app/models/spree/tracker.rb

Constant Summary collapse

TRACKING_ENGINES =
%i(google_analytics segment).freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.current(engine = nil, store = nil) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'app/models/spree/tracker.rb', line 15

def self.current(engine = nil, store = nil)
  engine ||= TRACKING_ENGINES.first
  store  ||= Spree::Store.default

  tracker = Rails.cache.fetch("current_tracker/#{engine}/#{store.id}") do
    active.find_by(store: store, engine: engine)
  end
  tracker.analytics_id.present? ? tracker : nil if tracker
end

Instance Method Details

#clear_cacheObject



25
26
27
28
29
# File 'app/models/spree/tracker.rb', line 25

def clear_cache
  TRACKING_ENGINES.each do |engine|
    Rails.cache.delete("current_tracker/#{engine}/#{store_id}")
  end
end