class Faker::UniqueGenerator
Constants
- RetryLimitExceeded
Public Class Methods
clear()
click to toggle source
# File lib/helpers/unique_generator.rb, line 28 def self.clear ObjectSpace.each_object(self, &:clear) end
new(generator, max_retries)
click to toggle source
# File lib/helpers/unique_generator.rb, line 3 def initialize(generator, max_retries) @generator = generator @max_retries = max_retries @previous_results = Hash.new { |hash, key| hash[key] = Set.new } end
Public Instance Methods
clear()
click to toggle source
# File lib/helpers/unique_generator.rb, line 24 def clear @previous_results.clear end
method_missing(name, *arguments)
click to toggle source
# File lib/helpers/unique_generator.rb, line 9 def method_missing(name, *arguments) @max_retries.times do result = @generator.public_send(name, *arguments) next if @previous_results[[name, arguments]].include?(result) @previous_results[[name, arguments]] << result return result end raise RetryLimitExceeded end