class Base32::Random
Attributes
length[R]
padding[R]
Public Class Methods
new(length = 16, padding = true)
click to toggle source
# File lib/base32/random.rb, line 10 def initialize(length = 16, padding = true) @length = length @padding = padding end
Public Instance Methods
alphabet()
click to toggle source
# File lib/base32/random.rb, line 24 def alphabet @alphabet ||= Base32::Alphabet.new Base32::Alphabet::CHARS end
call()
click to toggle source
# File lib/base32/random.rb, line 15 def call random = '' OpenSSL::Random.random_bytes(length).each_byte do |b| random += alphabet.to_s[b % 32] end padding ? random.ljust((length / 8.0).ceil * 8, '=') : random end