Sha256: 5e0ab6b9076eaaff7615831bfc473e7dc09cbc4695a6f50bad5b31915f6dd13d

Contents?: true

Size: 724 Bytes

Versions: 3

Compression:

Stored size: 724 Bytes

Contents

class TestTrack::Fake::Visitor
  attr_reader :id

  Assignment = Struct.new(:split_name, :variant, :unsynced, :context)

  def self.instance
    @instance ||= new(TestTrack::FakeServer.seed)
  end

  def self.reset!
    @instance = nil
    TestTrack::Fake::SplitRegistry.reset!
  end

  def initialize(id)
    @id = id
  end

  def assignments
    @assignments ||= _assignments
  end

  def split_registry
    TestTrack::Fake::SplitRegistry.instance.to_h
  end

  private

  def _assignments
    split_registry['splits'].keys.map do |split_name|
      variant = TestTrack::VariantCalculator.new(visitor: self, split_name: split_name).variant
      Assignment.new(split_name, variant, false, "the_context")
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
test_track_rails_client-4.0.0.alpha29 app/models/test_track/fake/visitor.rb
test_track_rails_client-4.0.0.alpha28 app/models/test_track/fake/visitor.rb
test_track_rails_client-4.0.0.alpha27 app/models/test_track/fake/visitor.rb