Module: FFaker::RandomUtils
- Included in:
- ArrayUtils, ModuleUtils
- Defined in:
- lib/ffaker/utils/random_utils.rb
Overview
Methods for returning repeatably-random data using the internal Random Number Generator. You should not need to use this directly, it is automatically included when you ‘include ModuleUtils` in a FFaker module.
Instance Method Summary collapse
-
#fetch_sample(list, options = {}) ⇒ Object
Performs Array#sample on ‘list` using a the internal Random Number Generator so that the results are deterministic.
-
#rand(max = nil) ⇒ Object
Returns a randon number from the internal Random Number Generator.
-
#shuffle(list) ⇒ Object
Performs same action as as ‘Array#suffle` (returns a randomly-reordered copy of `list`) except that it uses the internal Random Number Generator so that the results are deterministic.
Instance Method Details
#fetch_sample(list, options = {}) ⇒ Object
Performs Array#sample on ‘list` using a the internal Random Number Generator so that the results are deterministic.
-
Returns one random item from ‘list`.
-
Pass ‘count: n` in options argument, where `n` is an integer, to
return n items from ‘list`
20 21 22 23 24 25 26 27 28 |
# File 'lib/ffaker/utils/random_utils.rb', line 20 def fetch_sample(list, = {}) if (count = .delete(:count)) list.sample(count, random: FFaker::Random) elsif list.is_a?(Range) FFaker::Random.rand(list) else list.sample(random: FFaker::Random) end end |
#rand(max = nil) ⇒ Object
Returns a randon number from the internal Random Number Generator. Can be used in place of ‘rand` or `Kernal.rand`.
10 11 12 |
# File 'lib/ffaker/utils/random_utils.rb', line 10 def rand(max = nil) FFaker::Random.rand(max) end |
#shuffle(list) ⇒ Object
Performs same action as as ‘Array#suffle` (returns a randomly-reordered copy of `list`) except that it uses the internal Random Number Generator so that the results are deterministic.
33 34 35 |
# File 'lib/ffaker/utils/random_utils.rb', line 33 def shuffle(list) list.shuffle(random: FFaker::Random) end |