class CanaryLabs::Resolvers::Percentage
Public Class Methods
new(percentage, beta_name)
click to toggle source
# File lib/resolvers/percentage.rb, line 6 def initialize(percentage, beta_name) @percentage = percentage @beta_name = beta_name end
Public Instance Methods
participating?(id)
click to toggle source
# File lib/resolvers/percentage.rb, line 11 def participating? id # create a deterministic number based on the item identifier and # name of the beta. This will evenly distribute exposure to beta's # across all ID's. determ_num = Digest::MD5.hexdigest(id.to_s + @beta_name.to_s).to_i(16) (determ_num % (@percentage * 100).to_i).zero? end