result.rb (29 lines of code) (raw):

# frozen_string_literal: true require_relative 'benchmark' module Benchmark # Class for formatting RoadRunner results. class Result attr_reader :name, :description, :measurements def initialize(name, description, measurements) @name = name @description = description @measurements = measurements end # Will need to update this in the future if we include more than two unit. # This is a temporary solution to pass Rubocop. def unit(name) name.split('.').last == 'time' ? 'Milliseconds' : 'Megabytes' end def ruby_major_minor_version RUBY_VERSION.rpartition('.').first end def format { 'name' => @name, 'description' => @description, 'unit' => unit(@name), 'date' => Time.now.to_i, 'dimensions' => [ { name: 'RubyVersion', value: ruby_major_minor_version } ], 'measurements' => @measurements } end end end