sorbet/rbi/gems/securerandom@0.3.1.rbi
# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `securerandom` gem.
# Please instead update this file by running `bin/tapioca gem securerandom`.
# == Secure random number generator interface.
#
# This library is an interface to secure random number generators which are
# suitable for generating session keys in HTTP cookies, etc.
#
# You can use this library in your application by requiring it:
#
# require 'securerandom'
#
# It supports the following secure random number generators:
#
# * openssl
# * /dev/urandom
# * Win32
#
# SecureRandom is extended by the Random::Formatter module which
# defines the following methods:
#
# * alphanumeric
# * base64
# * choose
# * gen_random
# * hex
# * rand
# * random_bytes
# * random_number
# * urlsafe_base64
# * uuid
#
# These methods are usable as class methods of SecureRandom such as
# +SecureRandom.hex+.
#
# If a secure random number generator is not available,
# +NotImplementedError+ is raised.
module SecureRandom
extend ::Random::Formatter
class << self
# Returns a random binary string containing +size+ bytes.
#
# See Random.bytes
#
# source://securerandom//securerandom.rb#50
def bytes(n); end
# source://securerandom//securerandom.rb#64
def gen_random(n); end
private
# Implementation using OpenSSL
#
# source://securerandom//securerandom.rb#59
def gen_random_openssl(n); end
# Implementation using system random device
#
# source://securerandom//securerandom.rb#64
def gen_random_urandom(n); end
end
end
# The version
#
# source://securerandom//securerandom.rb#44
SecureRandom::VERSION = T.let(T.unsafe(nil), String)