Module: ArchUnit::Metrics::Calculation::NumericValue

Defined in:
lib/archunit/metrics/calculation/numeric_value.rb

Overview

Validation shared by metric calculations, thresholds, and measurements.

Class Method Summary collapse

Class Method Details

.finite_real_number?(value) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
# File 'lib/archunit/metrics/calculation/numeric_value.rb', line 16

def finite_real_number?(value)
  return false unless value.is_a?(Numeric) && value.real?
  return value.finite? if value.respond_to?(:finite?)

  true
end

.validate(value, attribute: 'value', error_class: ArgumentError) ⇒ Object

Raises:

  • (error_class)


10
11
12
13
14
# File 'lib/archunit/metrics/calculation/numeric_value.rb', line 10

def validate(value, attribute: 'value', error_class: ArgumentError)
  return value if finite_real_number?(value)

  raise error_class, "#{attribute} must be a finite real Numeric value"
end