Class: Lemans::Bench::Resources

Inherits:
Data
  • Object
show all
Defined in:
lib/lemans/bench.rb

Overview

The machine shape a trial runs on; the same shape must mean the same thing on every backend.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#cpusObject (readonly)

Returns the value of attribute cpus

Returns:

  • (Object)

    the current value of cpus



16
17
18
# File 'lib/lemans/bench.rb', line 16

def cpus
  @cpus
end

#memory_mbObject (readonly)

Returns the value of attribute memory_mb

Returns:

  • (Object)

    the current value of memory_mb



16
17
18
# File 'lib/lemans/bench.rb', line 16

def memory_mb
  @memory_mb
end

#storage_mbObject (readonly)

Returns the value of attribute storage_mb

Returns:

  • (Object)

    the current value of storage_mb



16
17
18
# File 'lib/lemans/bench.rb', line 16

def storage_mb
  @storage_mb
end

Class Method Details

.from_config(config, field:, defaults:) ⇒ Object

Each field falls back on its own, so naming one does not revert the others to defaults.



18
19
20
21
22
23
24
# File 'lib/lemans/bench.rb', line 18

def self.from_config(config, field:, defaults:)
  new(
    cpus: config.fetch("cpus", defaults.cpus),
    memory_mb: Units.megabytes(config["memory"], field: "#{field}.memory") || defaults.memory_mb,
    storage_mb: Units.megabytes(config["storage"], field: "#{field}.storage") || defaults.storage_mb
  )
end