Class: Benchmark::Job
Overview
A Job is a sequence of labelled blocks to be processed by the Benchmark.bmbm method. It is of little direct interest to the user.
Instance Attribute Summary collapse
-
#list ⇒ Object
readonly
An array of 2-element arrays, consisting of label and block pairs.
-
#width ⇒ Object
readonly
Length of the widest label in the #list.
Instance Method Summary collapse
-
#initialize(width) ⇒ Job
constructor
Returns an initialized Job instance.
-
#item(label = "", &blk) ⇒ Object
(also: #report)
Registers the given label and block pair in the job list.
Constructor Details
#initialize(width) ⇒ Job
Returns an initialized Job instance. Usually, one doesn't call this method directly, as new Job objects are created by the #bmbm method. +width+ is a initial value for the label offset used in formatting; the #bmbm method passes its +width+ argument to this constructor.
321 322 323 324 |
# File 'opal/stdlib/benchmark.rb', line 321 def initialize(width) @width = width @list = [] end |
Instance Attribute Details
#list ⇒ Object (readonly)
An array of 2-element arrays, consisting of label and block pairs.
341 342 343 |
# File 'opal/stdlib/benchmark.rb', line 341 def list @list end |
#width ⇒ Object (readonly)
Length of the widest label in the #list.
344 345 346 |
# File 'opal/stdlib/benchmark.rb', line 344 def width @width end |
Instance Method Details
#item(label = "", &blk) ⇒ Object Also known as: report
Registers the given label and block pair in the job list.
329 330 331 332 333 334 335 336 |
# File 'opal/stdlib/benchmark.rb', line 329 def item(label = "", &blk) # :yield: raise ArgumentError, "no block" unless block_given? label = label.to_s w = label.length @width = w if @width < w @list << [label, blk] self end |