Module: ActiveObject::Integer
- Defined in:
- lib/active_object/integer.rb
Constant Summary collapse
- ROMAN_VALUES =
{ M: 1000, CM: 900, D: 500, CD: 400, C: 100, XC: 90, L: 50, XL: 40, X: 10, IX: 9, V: 5, IV: 4, I: 1 }
Instance Method Summary collapse
Instance Method Details
#factorial ⇒ Object
8 9 10 11 |
# File 'lib/active_object/integer.rb', line 8 def factorial return(1) if zero? 2.upto(self).inject(1) { |p, n| p * n } end |
#of(&block) ⇒ Object
13 14 15 |
# File 'lib/active_object/integer.rb', line 13 def of(&block) Array.new(self, &block) end |
#roman ⇒ Object
17 18 19 20 21 22 |
# File 'lib/active_object/integer.rb', line 17 def roman return("") if zero? return("-#{(-self).roman}") if self < 0 ROMAN_VALUES.each { |k, v| return("#{k}#{(self - v).roman}") if v <= self } end |