Sha256: 4eb938ef03e2f37fbd953f0524c64535d5332b4e910ebb9fe91deaf4280d595d
Contents?: true
Size: 1.29 KB
Versions: 11
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true module FFaker # 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. module RandomUtils # Returns a randon number from the internal Random Number Generator. Can be # used in place of `rand` or `Kernal.rand`. def rand(max = nil) FFaker::Random.rand(max) end # 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` def fetch_sample(list, options = {}) if (count = options.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 # 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. def shuffle(list) list.shuffle(random: FFaker::Random) end end end
Version data entries
11 entries across 11 versions & 1 rubygems