Module: DSP::Check

Defined in:
lib/dsprb/check.rb,
sig/dsprb.rbs

Class Method Summary collapse

Class Method Details

.at_least!(value, minimum, name) ⇒ void

This method returns an undefined value.

Raises:

  • (ArgumentError)


19
20
21
22
23
# File 'lib/dsprb/check.rb', line 19

def at_least!(value, minimum, name)
  return value if value >= minimum

  raise ArgumentError, "#{name} must be at least #{minimum}, got #{value}"
end

.below!(value, limit, name, limit_name) ⇒ void

This method returns an undefined value.

Raises:

  • (ArgumentError)


31
32
33
34
35
# File 'lib/dsprb/check.rb', line 31

def below!(value, limit, name, limit_name)
  return value if value < limit

  raise ArgumentError, "#{name} must be below #{limit_name}, got #{value} and #{limit}"
end

.non_negative!(value, name) ⇒ void

This method returns an undefined value.

Raises:

  • (ArgumentError)


13
14
15
16
17
# File 'lib/dsprb/check.rb', line 13

def non_negative!(value, name)
  return value unless value.negative?

  raise ArgumentError, "#{name} must be non-negative, got #{value}"
end

.positive!(value, name) ⇒ void

This method returns an undefined value.

Raises:

  • (ArgumentError)


7
8
9
10
11
# File 'lib/dsprb/check.rb', line 7

def positive!(value, name)
  return value if value.positive?

  raise ArgumentError, "#{name} must be positive, got #{value}"
end

.power_of_two!(value, name) ⇒ ::Integer

Parameters:

  • (::Integer)
  • (::String)

Returns:

  • (::Integer)

Raises:

  • (ArgumentError)


25
26
27
28
29
# File 'lib/dsprb/check.rb', line 25

def power_of_two!(value, name)
  return value if value.positive? && (value & (value - 1)).zero?

  raise ArgumentError, "#{name} must be a positive power of two, got #{value}"
end

.present!(collection, name) ⇒ void

This method returns an undefined value.

Raises:

  • (ArgumentError)


37
38
39
40
41
# File 'lib/dsprb/check.rb', line 37

def present!(collection, name)
  return collection unless collection.empty?

  raise ArgumentError, "#{name} must not be empty"
end