Sha256: 41448eb324f2c903d39c580765c078eaf872abb1cd7bdf29477d2363fe368891
Contents?: true
Size: 748 Bytes
Versions: 3
Compression:
Stored size: 748 Bytes
Contents
class TestTrack::Assignment include TestTrack::RequiredOptions attr_accessor :context attr_reader :visitor, :split_name attr_writer :variant def initialize(opts = {}) @visitor = require_option!(opts, :visitor) @split_name = require_option!(opts, :split_name).to_s raise ArgumentError, "unknown opts: #{opts.keys.to_sentence}" if opts.present? end def variant @variant ||= _variant end def unsynced? true end def feature_gate? split_name.end_with?('_enabled') end def visitor_id visitor.id end private def _variant return if visitor.offline? variant = TestTrack::VariantCalculator.new(visitor: visitor, split_name: split_name).variant variant && variant.to_s end end
Version data entries
3 entries across 3 versions & 1 rubygems