module FuzzBert::Generators

Public Instance Methods

b64_len(len) click to toggle source
# File lib/fuzzbert/generators.rb, line 55
def b64_len(len)
  len * 3 / 4
end
cycle(range) click to toggle source
# File lib/fuzzbert/generators.rb, line 31
def cycle(range)
  ary = range.to_a
  i = 0
  lambda do
    ret = ary[i]
    i = (i + 1) % ary.size
    ret
  end
end
fixed(data) click to toggle source
# File lib/fuzzbert/generators.rb, line 41
def fixed(data)
  -> { data }
end
hex_len(len) click to toggle source
# File lib/fuzzbert/generators.rb, line 51
def hex_len(len)
  len / 2
end
random(limit=1024) click to toggle source
# File lib/fuzzbert/generators.rb, line 7
def random(limit=1024)
  -> { random_bytes(limit) { |data| data } }
end
random_b64(limit=1024) click to toggle source
# File lib/fuzzbert/generators.rb, line 11
def random_b64(limit=1024)
  -> { random_bytes(b64_len(limit)) { |data| Base64.encode64(data) } }
end
random_b64_fixlen(len) click to toggle source
# File lib/fuzzbert/generators.rb, line 23
def random_b64_fixlen(len)
  -> { random_bytes_fixlen(b64_len(len)) { |data| Base64.encode(data) } }
end
random_bytes(limit) { |bytes| ... } click to toggle source
# File lib/fuzzbert/generators.rb, line 59
def random_bytes(limit)
  len = FuzzBert::PRNG.rand(1..limit)
  yield FuzzBert::PRNG.bytes(len)
end
random_bytes_fixlen(len) { |bytes| ... } click to toggle source
# File lib/fuzzbert/generators.rb, line 64
def random_bytes_fixlen(len)
  yield FuzzBert::PRNG.bytes(len)
end
random_fixlen(len) click to toggle source
# File lib/fuzzbert/generators.rb, line 19
def random_fixlen(len)
  -> { random_bytes_fixlen(len) { |data| data } }
end
random_hex(limit=1024) click to toggle source
# File lib/fuzzbert/generators.rb, line 15
def random_hex(limit=1024)
  -> { random_bytes(hex_len(limit)) { |data| data.unpack("H*")[0] } }
end
random_hex_fixlen(len) click to toggle source
# File lib/fuzzbert/generators.rb, line 27
def random_hex_fixlen(len)
  -> { random_bytes_fixlen(hex_len(len)) { |data| data.unpack("H*")[0] } }
end
sample(ary) click to toggle source
# File lib/fuzzbert/generators.rb, line 45
def sample(ary)
  -> { ary.sample }
end