Sha256: 0e8b82383b9b3af663fd888c95194454437eb72853a831a5c1db2bb916c45f75
Contents?: true
Size: 813 Bytes
Versions: 9
Compression:
Stored size: 813 Bytes
Contents
# alpha at 2007.10.14 require 'puzzle_generator/puzzle' require 'rubygems' require 'facets/hash/reverse_merge' require 'facets/timer' module PuzzleGenerator def self.generate_chained_map option = {}; generate_klass ChainedMap, option; end def self.generate_klass klass, option = {} option.reverse_merge! :timeout => 5 generate(option[:timeout]){ klass.new option } end LastTriedInfo = {} def self.generate timeout = 5, &generator timer = Timer.new(timeout).start tried_times = 1 begin result = generator.call until result.result_map.kind_of? Array tried_times += 1 result = generator.call end ensure timer.stop LastTriedInfo.merge! :tried_times => tried_times, :tried_duration => timer.total_time end result end end
Version data entries
9 entries across 9 versions & 1 rubygems