Sha256: acb91a49495ac104980ce57b5cfacf54f039c64a500e2b99b3d9c7be169e5b36

Contents?: true

Size: 634 Bytes

Versions: 2

Compression:

Stored size: 634 Bytes

Contents

require 'bench/runner'

module NmBench

  class Logger

    def initialize(file_path)
      @file = File.open(file_path, 'w')
      @ios = [@file, $stdout]
      yield self
      @file.close
    end

    def method_missing(meth, *args, &block)
      @ios.each do |io|
        io.respond_to?(meth.to_s) ? io.send(meth.to_s, *args, &block) : super
      end
    end

    def respond_to?(*args)
      @ios.first.respond_to?(args.first.to_s) ? true : super
    end

    def run_template(runner, name, *args)
      GC.disable

      Runner.run(runner, name, self, *args)
      self.puts

      GC.enable
      GC.start
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nm-0.3.0 bench/logger.rb
nm-0.2.0 bench/logger.rb