Sha256: 89559107ced23923987b083e1eb2c444adfb1a9e71ea0f9c895c1fad6685b67c
Contents?: true
Size: 963 Bytes
Versions: 3
Compression:
Stored size: 963 Bytes
Contents
class Numeric include ErrorHelper Alpha26 = ("a".."z").to_a def to_s26 return "" if self < 1 s, q = "", self loop do q, r = (q - 1).divmod(26) s.prepend(Alpha26[r]) break if q.zero? end s end def safe_part(part) if self > 0 if part >= 0 return part.to_f/self.to_f else raise_positive_number_only end elsif self == 0 return 0 else raise_positive_number_only end end def safe_percent(part, precision: 15) if self > 0 if part >= 0 return (safe_part(part)*100).round(precision) else raise_positive_number_only end elsif self == 0 return 0 else raise_positive_number_only end end def to_time_hash mm, ss = self.divmod(60) hh, mm = mm.divmod(60) dd, hh = hh.divmod(24) return { days: dd, hours: hh, minutes: mm, seconds: ss, } end end
Version data entries
3 entries across 3 versions & 1 rubygems