Sha256: 6610783680a3bd04ffb6c768af162f3b30efab032053430193d20eafd3fed78a
Contents?: true
Size: 827 Bytes
Versions: 3
Compression:
Stored size: 827 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 analytics_event @analytics_event ||= AnalyticsEvent.new(self) 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