A library of utility services and concerns.
Tools for working with integers.
ROMANIZE_MAX
= 4999
Maximum integer value that can be converted to a roman numeral.
ROMANIZE_MIN
= 1
Minimum integer value that can be converted to a roman numeral.
.instance => SleepingKingStudios::Tools::Base
#count_digits(integer, base: 10) => Integer
Returns the number of digits in the given integer and base.
This method ignores minus sign for negative numbers. You can use the :base parameter to configure the numeric base for the string representation.
With a positive number.
IntegerTools.count_digits(31)
#=> 2
With a negative number.
IntegerTools.count_digits(-141)
#=> 3
With a binary number.
IntegerTools.count_digits(189, :base => 2)
#=> 8
With a hexadecimal number.
IntegerTools.count_digits(16724838, :base => 16)
#=> 6
#digits(integer, base: 10) => Array<String>
Decomposes the given integer into its digits in the given base.
With a number in base 10.
IntegerTools.digits(15926)
#=> ['1', '5', '9', '2', '6']
With a binary number.
IntegerTools.digits(189, :base => 2)
#=> ['1', '0', '1', '1', '1', '1', '0', '1']
With a hexadecimal number.
IntegerTools.digits(16724838)
#=> ['f', 'f', '3', '3', '6', '6']
#integer?(obj) => Boolean
Returns true if the object is an Integer.
IntegerTools.integer?(nil)
#=> false
IntegerTools.integer?([])
#=> false
IntegerTools.integer?({})
#=> false
IntegerTools.integer?(1)
#=> true
#pluralize(count, single, plural = nil) => String
Returns the singular or the plural value, depending on the provided count.
If the plural form is not given, passes the singular form to StringTools#pluralize.
IntegerTools.pluralize 4, 'light'
#=> 'lights'
IntegerTools.pluralize 3, 'cow', 'kine'
#=> 'kine'
#romanize(integer, additive: false) => String
Represents an integer between 1 and 4999 (inclusive) as a Roman numeral.
IntegerTools.romanize(4) #=> 'IV'
IntegerTools.romanize(18) #=> 'XVIII'
IntegerTools.romanize(499) #=> 'CDXCIX'
Back to Documentation | Reference | SleepingKingStudios | SleepingKingStudios::Tools