class Numeric

Public Instance Methods

clamp(lower, higher=nil) click to toggle source

Clamps num so that lower <= new_num <= higher.

Returns lower when num < lower, higher when num > higher, otherwise num itself.

Raises an exception if lower > higher

# File lib/mug/clamp.rb, line 12
def clamp lower, higher=nil
  return lower.bound(self) if lower.is_a?(Range) && higher.nil?
  raise ArgumentError, 'range must not be negative' if lower > higher
  [[lower, self].max, higher].min
end
negative?() click to toggle source
# File lib/mug/negativity.rb, line 5
def negative?
  self < 0 ? self : nil
end
nonnegative?() click to toggle source
# File lib/mug/negativity.rb, line 14
def nonnegative?
  self < 0 ? nil : self
end
nonpositive?() click to toggle source
# File lib/mug/negativity.rb, line 18
def nonpositive?
  self > 0 ? nil : self
end
positive?() click to toggle source
# File lib/mug/negativity.rb, line 9
def positive?
  self > 0 ? self : nil
end
to_b() click to toggle source

Converts num to a boolean. Returns true if not zero.

# File lib/mug/bool.rb, line 35
def to_b
  !self.zero?
end