class Faker::UniqueGenerator
def method_missing(name, *arguments)
def method_missing(name, *arguments) self.class.marked_unique.add(self) @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, "Retry limit exceeded for #{name}" end