Class: Properb::Generators::RecursiveGenerator

Inherits:
Properb::Generator show all
Defined in:
lib/properb/generators/recursive_generator.rb

Instance Method Summary collapse

Methods inherited from Properb::Generator

#map, #or, #reject, #select, #sized, #to_properb_generator

Constructor Details

#initialize(&block) ⇒ RecursiveGenerator

Returns a new instance of RecursiveGenerator.



4
5
6
# File 'lib/properb/generators/recursive_generator.rb', line 4

def initialize(&block)
  @block = block
end

Instance Method Details

#generate_value(random, size) ⇒ Object



8
9
10
11
12
# File 'lib/properb/generators/recursive_generator.rb', line 8

def generate_value(random, size)
  @block
    .call(size, RecursiveGenerator.new(&@block).sized((size / 2).floor))
    .generate_value(random, size)
end