module KiribanGetter

Constants

VERSION

Public Instance Methods

digit() click to toggle source
# File lib/kiriban_getter.rb, line 26
def digit
  Math.log10(self.abs).to_i + 1
rescue FloatDomainError
  # Math.log10(0).to_i
  # #=> FloatDomainError: -Infinity
  1
end
kiriban?() click to toggle source
# File lib/kiriban_getter.rb, line 34
def kiriban?
  kuraiban? || zorome?
end
kuraiban?() click to toggle source
# File lib/kiriban_getter.rb, line 5
def kuraiban?
  num = self.abs
  return false if num < 10

  i = 10 ** (digit - 1)
  num % i == 0
end
zorome?() click to toggle source
# File lib/kiriban_getter.rb, line 14
def zorome?
  num = self.abs
  return false if num < 10

  # generate number which all digit is 1
  zorome1 = digit.times.inject(0) { |n| n * 10 + 1 }
  num % zorome1 == 0
end