lib/common/benchmarking.rb in liri-0.3.0 vs lib/common/benchmarking.rb in liri-0.3.1

- old
+ new

@@ -1,31 +1,32 @@ +# frozen_string_literal: true + # = benchmarking.rb # # @author Rodrigo Fernández -# -# == Módulo Benchmarking -# Este módulo se encarga de medir el tiempo de ejecución de algunos bloques de código require 'benchmark' require 'i18n' # requerimiento de la gema to_duration require 'to_duration' # Se configura la ubicación del archivo de internacionalización de la gema to_duration -I18n.load_path << Dir[File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'config/locales') + "/*.yml"] +I18n.load_path << Dir["#{File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'config/locales')}/*.yml"] I18n.default_locale = :es module Liri module Common + # == Módulo Benchmarking + # Este módulo se encarga de medir el tiempo de ejecución de algunos bloques de código module Benchmarking class << self - def start(start_msg: nil, end_msg: 'Duración: ', stdout: true) + def start(start_msg: nil, end_msg: 'Duration: ', stdout: true, &block) Liri.logger.info(start_msg, stdout) - seconds = Benchmark.realtime do - yield - end + + seconds = Benchmark.realtime(&block) + Liri.logger.info("#{end_msg}#{seconds.to_duration}", stdout) seconds end end end end -end \ No newline at end of file +end