Class: AmplitudeExperiment::ExposureFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/experiment/local/exposure/exposure_filter.rb

Overview

ExposureFilter

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(size, ttl_millis = DAY_MILLIS) ⇒ ExposureFilter

Returns a new instance of ExposureFilter.



6
7
8
9
# File 'lib/experiment/local/exposure/exposure_filter.rb', line 6

def initialize(size, ttl_millis = DAY_MILLIS)
  @cache = LRUCache.new(size, ttl_millis)
  @ttl_millis = ttl_millis
end

Instance Attribute Details

#ttl_millisObject

Returns the value of attribute ttl_millis.



4
5
6
# File 'lib/experiment/local/exposure/exposure_filter.rb', line 4

def ttl_millis
  @ttl_millis
end

Instance Method Details

#should_track(exposure) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/experiment/local/exposure/exposure_filter.rb', line 11

def should_track(exposure)
  return false if exposure.results.empty?

  canonical_exposure = exposure.canonicalize
  track = @cache.get(canonical_exposure).nil?
  @cache.put(canonical_exposure, 0) if track
  track
end