Random

Randomization core extension methods.

This library extends Array, String and Hash with randomization methods. Most of the methods are of one of two kinds. Either they "pick" a random element from the reciever or they randomly "shuffle" the reciever.

The most common example is Array#shuffle, which simply randmomizes the order of an array‘s elements.

  [1,2,3].shuffle  #=> [2,3,1]

The other methods do similar things for their respective classes.

Methods
Classes and Modules
Module Random::Array
Module Random::Hash
Module Random::Object
Module Random::String
Public Class methods
append_features(mod)
# File lib/facets/random.rb, line 63
  def self.append_features(mod)
    if mod == ::Object
      mod.send(:include, Random::Object)
    elsif mod == ::Array
      mod.send(:include, Random::Array)
    elsif mod == ::Hash
      mod.send(:include, Random::Hash)
    elsif mod == ::String
      mod.send(:include, Random::String)
    else
      raise TypeError
    end
  end
number(*args)
# File lib/facets/random.rb, line 57
  def self.number(*args)
    ::Kernel.rand(*args)
  end