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
listusing 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 oflist) 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: nin options argument, wherenis an integer, to return n items fromlist
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 |