Sha256: 12563d6060fd0e99f90f6228fb1dced8266d7800259d5dcb08ff67983a458bc9

Contents?: true

Size: 956 Bytes

Versions: 30

Compression:

Stored size: 956 Bytes

Contents

require File.expand_path('../example_setup', __FILE__)

require 'flipper'
require 'flipper/adapters/memory'

adapter = Flipper::Adapters::Memory.new
flipper = Flipper.new(adapter)
stats = flipper[:stats]

# Some class that represents what will be trying to do something
class User
  attr_reader :id

  def initialize(id)
    @id = id
  end

  # Must respond to flipper_id
  alias_method :flipper_id, :id
end

total = 10_000

# create array of fake users
users = (1..total).map { |n| User.new(n) }

perform_test = lambda { |number|
  flipper[:stats].enable flipper.actors(number)

  enabled = users.map { |user|
    flipper[:stats].enabled?(user) ? true : nil
  }.compact

  actual = (enabled.size / total.to_f * 100).round(2)

  puts "percentage: #{actual.to_s.rjust(6, ' ')} vs #{number.to_s.rjust(3, ' ')}"
}

puts "percentage: Actual vs Hoped For"

[1, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 95, 99, 100].each do |number|
  perform_test.call number
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
flipper-0.11.0.beta6 examples/percentage_of_actors.rb
flipper-0.11.0.beta5 examples/percentage_of_actors.rb
flipper-0.11.0.beta4 examples/percentage_of_actors.rb
flipper-0.11.0.beta3 examples/percentage_of_actors.rb
flipper-0.11.0.beta1 examples/percentage_of_actors.rb
flipper-0.10.2 examples/percentage_of_actors.rb
flipper-0.10.1 examples/percentage_of_actors.rb
flipper-0.10.0 examples/percentage_of_actors.rb
flipper-0.9.2 examples/percentage_of_actors.rb
flipper-0.9.1 examples/percentage_of_actors.rb
flipper-0.9.0 examples/percentage_of_actors.rb
flipper-0.9.0.beta1 examples/percentage_of_actors.rb
flipper-0.8.0 examples/percentage_of_actors.rb
flipper-0.7.5 examples/percentage_of_actors.rb
flipper-0.7.4 examples/percentage_of_actors.rb
flipper-0.7.3 examples/percentage_of_actors.rb
flipper-0.7.2 examples/percentage_of_actors.rb
flipper-0.7.1 examples/percentage_of_actors.rb
flipper-0.7.0 examples/percentage_of_actors.rb
flipper-0.7.0.beta6 examples/percentage_of_actors.rb