class Lightning::Bolt::Fuzzer

Public Class Methods

new(encoder) click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 6
def initialize(encoder)
  @encoder = encoder
  @alphabet = alphabet()
end

Public Instance Methods

random_character(size) click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 15
def random_character(size)
  enigma = ""
  while (enigma.size < size + 1)
    char = @alphabet[random_number(0,@alphabet.size)]
    if char
      enigma += char
    end
  end
  return enigma
end
random_number(min,max) click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 11
def random_number(min,max)
  return SecureRandom.random_number(max-min)+min
end

Private Instance Methods

alphabet() click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 28
def alphabet
  charset = []
  0.upto(1112064) do |i|
    char = nil
    begin
      char = "" << i
    rescue
    end
    if !char.eql?(nil)
      if encodable?(char)
        charset.push(char.encode(@encoder))
      end
    end
  end
  return charset
end
encodable?(rotar) click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 45
def encodable?(rotar)
  begin
    rotar.encode(@encoder)
    return true
  rescue Encoding::UndefinedConversionError
    return false
  end
end