Sha256: 85275848f8a3758433978444235aee23778190ea2c53606c120385ec80ec2d2a
Contents?: true
Size: 853 Bytes
Versions: 1
Compression:
Stored size: 853 Bytes
Contents
module RBM class Fragment @@unnamed_fragment = "fragment_0" attr_reader :code, :name, :prerun, :postrun def initialize(code, name = nil, prerun = nil, postrun = nil) @code, @name, @prerun, @postrun = code, name, prerun, postrun end def run(bm, times, init = nil, cleanup = nil) fragment_name = (name || @@unnamed_fragment.succ!).gsub(/\s+/, "_") object = Object.new bm.report(name) do object.instance_eval(init, "#{fragment_name}_init", 0) if init object.instance_eval(prerun, "#{fragment_name}_prerun", 0) if prerun object.instance_eval("#{times}.times { #{code} }", "#{fragment_name}", 0) object.instance_eval(postrun, "#{fragment_name}_postrun", 0) if postrun object.instance_eval(cleanup, "#{fragment_name}_cleanup", 0) if cleanup end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rbm-1.0.0 | lib/rbm/fragment.rb |