Sha256: 179192f2dad9d75dfcc7e637d0c1ceb00039fd79959df6b55d21199ee42eba83
Contents?: true
Size: 689 Bytes
Versions: 2
Compression:
Stored size: 689 Bytes
Contents
module Spree class Edrone < Spree::Base TRACKING_ENGINES = %i(google_analytics segment).freeze enum engine: TRACKING_ENGINES after_commit :clear_cache validates :edrone_app_id, presence: true, uniqueness: { scope: :engine, case_sensitive: false } scope :active, -> { where(active: true) } def self.current(engine = TRACKING_ENGINES.first) edrone = Rails.cache.fetch("current_edrone/#{engine}") do send(engine).active.first end edrone.edrone_app_id.present? ? edrone : nil if edrone end def clear_cache TRACKING_ENGINES.each do |engine| Rails.cache.delete("current_edrone/#{engine}") end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
spree_edrone-1.0.2 | app/models/spree/edrone.rb |
spree_edrone-1.0.1 | app/models/spree/edrone.rb |