Sha256: 0dca6f2e4fef2c38918f286875f417b7ed4a73d4ea2c0cc928f32431dfce7a3b
Contents?: true
Size: 551 Bytes
Versions: 11
Compression:
Stored size: 551 Bytes
Contents
# frozen_string_literal: true module ElasticAPM class Config # @api private class Bytes MULTIPLIERS = { 'kb' => 1024, 'mb' => 1024 * 1_000, 'gb' => 1024 * 100_000 }.freeze REGEX = /^(\d+)(b|kb|mb|gb)?$/i.freeze def initialize(default_unit: 'kb') @default_unit = default_unit end def call(value) _, amount, unit = REGEX.match(String(value)).to_a unit ||= @default_unit MULTIPLIERS.fetch(unit.downcase, 1) * amount.to_i end end end end
Version data entries
11 entries across 11 versions & 1 rubygems