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