Method: PulseMeter::Mixins::Utils#assert_positive_integer!

Defined in:
lib/pulse_meter/mixins/utils.rb

#assert_positive_integer!(options, key, default = nil) ⇒ Fixnum

Ensures that hash value specified by key can be converted to positive integer. In case it can makes in-place conversion and returns the value.

Raises:

  • (ArgumentError)

    unless value is positive integer



38
39
40
41
42
43
44
# File 'lib/pulse_meter/mixins/utils.rb', line 38

def assert_positive_integer!(options, key, default = nil)
  value = options[key] || default
  raise ArgumentError, "#{key} should be defined" unless value
  raise ArgumentError, "#{key} should be integer" unless value.respond_to?(:to_i)
  raise ArgumentError, "#{key} should be positive" unless value.to_i > 0
  options[key] = value.to_i
end