module Trustworthy::Random

Public Class Methods

_source() click to toggle source
# File lib/trustworthy/random.rb, line 17
def self._source
  '/dev/urandom'
end
bytes(size = 32) click to toggle source
# File lib/trustworthy/random.rb, line 9
def self.bytes(size = 32)
  flags = File::RDONLY
  flags |= File::NOCTTY if defined? File::NOCTTY
  File.open(_source, flags) do |file|
    file.read(size)
  end
end
number(size = 32) click to toggle source
# File lib/trustworthy/random.rb, line 3
def self.number(size = 32)
  raw_bytes = bytes(size)
  number = raw_bytes.unpack('H*').first.hex
  BigDecimal(number.to_s)
end