module FFaker::Random
Random
Number
Generator (RNG) used with ModuleUtils#fetch, shuffle, rand in order to provide deterministic repeatability.
Public Class Methods
new_rng()
click to toggle source
Returns a new Random
object instantiated with seed.
# File lib/ffaker.rb, line 125 def self.new_rng ::Random.new(seed) end
rand(max = nil)
click to toggle source
Returns a random number using an RNG with a known seed.
# File lib/ffaker.rb, line 113 def self.rand(max = nil) return rng.rand(max) if max rng.rand end
reset!()
click to toggle source
Reset the RNG back to its initial state.
# File lib/ffaker.rb, line 108 def self.reset! @rng = new_rng end
rng()
click to toggle source
Returns the current Random
object.
# File lib/ffaker.rb, line 120 def self.rng @rng ||= new_rng end
seed()
click to toggle source
Returns the current RNG seed.
# File lib/ffaker.rb, line 96 def self.seed @seed ||= ::Random.new_seed end
seed=(new_seed)
click to toggle source
Sets the RNG seed and creates a new internal RNG.
# File lib/ffaker.rb, line 101 def self.seed=(new_seed) @seed = new_seed reset! new_seed end