Module: ActiveObject::Integer

Defined in:
lib/active_object/integer.rb

Instance Method Summary collapse

Instance Method Details

#factorialObject



21
22
23
24
25
# File 'lib/active_object/integer.rb', line 21

def factorial
  return 1 if zero?

  2.upto(self).inject(1) { |acc, elem| acc * elem }
end

#of(&block) ⇒ Object



27
28
29
# File 'lib/active_object/integer.rb', line 27

def of(&block)
  ::Array.new(self, &block)
end

#romanObject



31
32
33
34
35
36
# File 'lib/active_object/integer.rb', line 31

def roman
  return '' if zero?
  return "-#{(-self).roman}" if negative?

  ROMAN_VALUES.each { |key, val| return "#{key}#{(self - val).roman}" if val <= self }
end

#timeObject



38
39
40
# File 'lib/active_object/integer.rb', line 38

def time
  ::Time.at(self)
end