module SecureRandom

Constants

FLOAT_ERROR
KERNEL_RAND

Public Class Methods

gen_random(n) click to toggle source
# File lib/securer_randomer/monkeypatch/secure_random.rb, line 7
def self.gen_random(n)
  RbNaCl::Random.random_bytes(n)
end
random_bytes(n = nil) click to toggle source
# File lib/securer_randomer/monkeypatch/secure_random.rb, line 11
def self.random_bytes(n = nil)
  RbNaCl::Random.random_bytes(n ? n.to_i : 16)
end
random_number(n = 0) click to toggle source
# File lib/securer_randomer/monkeypatch/secure_random.rb, line 17
def self.random_number(n = 0)
  arg =
    case n
    when nil
      0
    when Numeric
      n > 0 ? n : 0
    when Range
      if n.end < n.begin
        0
      elsif n.begin == n.end and n.exclude_end?
        0
      else
        n
      end
    end

  raise TypeError unless arg

  KERNEL_RAND.call(arg)
rescue TypeError
  raise ArgumentError, "invalid argument - #{n}"
end