Sha256: 453f5fff5ff9da8f2bc58f8f3e39270d2f56d82f3b0d21c5eb5b6a3058698b88

Contents?: true

Size: 822 Bytes

Versions: 12

Compression:

Stored size: 822 Bytes

Contents

class TestTrack::SplitRegistry
  def self.from_remote
    new(TestTrack::Remote::SplitRegistry.to_hash)
  end

  def initialize(registry_hash)
    @registry_hash = registry_hash
  end

  def include?(split_name)
    registry_hash['splits'].key?(split_name)
  end

  def loaded?
    registry_hash.present?
  end

  def split_names
    registry_hash['splits'].keys
  end

  def experience_sampling_weight
    registry_hash.fetch('experience_sampling_weight')
  end

  def weights_for(split_name)
    registry_hash && registry_hash['splits'][split_name] && registry_hash['splits'][split_name]['weights'].freeze
  end

  def to_hash
    registry_hash && registry_hash['splits'].transform_values do |v|
      { weights: v['weights'], feature_gate: v['feature_gate'] }
    end
  end

  private

  attr_reader :registry_hash
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
test_track_rails_client-8.0.0 app/models/test_track/split_registry.rb
test_track_rails_client-7.1.2 app/models/test_track/split_registry.rb
test_track_rails_client-7.1.1 app/models/test_track/split_registry.rb
test_track_rails_client-7.0.0 app/models/test_track/split_registry.rb
test_track_rails_client-6.0.0 app/models/test_track/split_registry.rb
test_track_rails_client-5.0.1 app/models/test_track/split_registry.rb
test_track_rails_client-5.0.0 app/models/test_track/split_registry.rb
test_track_rails_client-4.0.2 app/models/test_track/split_registry.rb
test_track_rails_client-4.0.1 app/models/test_track/split_registry.rb
test_track_rails_client-4.0.0 app/models/test_track/split_registry.rb
test_track_rails_client-4.0.0.rc3 app/models/test_track/split_registry.rb
test_track_rails_client-4.0.0.rc2 app/models/test_track/split_registry.rb