Sha256: ee46ce329edc9fc2e8fe79c4ce0199ecccb1ed7c81114971d91067655bc437b9

Contents?: true

Size: 721 Bytes

Versions: 1

Compression:

Stored size: 721 Bytes

Contents

require 'viiite/benchmark/runner'
module Viiite
  class Benchmark
    include Runner
    include Alf::Iterator

    attr_reader :definition

    def initialize(definition)
      @definition = definition
    end

    @benchmarks = []
    def self.new(arg, *others)
      case arg
      when String
        load File.expand_path(arg)
        @benchmarks.pop
      when IO, StringIO
        Kernel.eval(arg.read, TOPLEVEL_BINDING)
        @benchmarks.pop
      else
        bench = super(arg)
        @benchmarks << bench
        bench
      end
    end

    def each(&reporter)
      self.dup._each(&reporter)
    end

    Alf::Reader.register(:viiite, [".viiite", ".rb"], self)
  end # class Benchmark
end # module Viiite

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
viiite-0.2.0 lib/viiite/benchmark.rb