Skip to content

Commit

Permalink
Convert integer extension modules to class reopens
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremy committed Mar 21, 2009
1 parent b4a1718 commit 54cf0fc
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 43 deletions.
5 changes: 4 additions & 1 deletion activesupport/lib/active_support/core_ext/integer.rb
@@ -1,2 +1,5 @@
require 'active_support/core_ext/integer/even_odd'
require 'active_support/core_ext/integer/inflections'

require 'active_support/core_ext/util'
ActiveSupport.core_ext Integer, %w(even_odd inflections time)
ActiveSupport.core_ext Integer, %w(time)
39 changes: 13 additions & 26 deletions activesupport/lib/active_support/core_ext/integer/even_odd.rb
@@ -1,29 +1,16 @@
module ActiveSupport #:nodoc:
module CoreExtensions #:nodoc:
module Integer #:nodoc:
# For checking if a fixnum is even or odd.
#
# 2.even? # => true
# 2.odd? # => false
# 1.even? # => false
# 1.odd? # => true
# 0.even? # => true
# 0.odd? # => false
# -1.even? # => false
# -1.odd? # => true
module EvenOdd
def multiple_of?(number)
self % number == 0
end
class Integer
# Check whether the integer is evenly divisible by the argument.
def multiple_of?(number)
self % number == 0
end

def even?
multiple_of? 2
end if RUBY_VERSION < '1.9'
# Is the integer a multiple of 2?
def even?
multiple_of? 2
end if RUBY_VERSION < '1.9'

def odd?
!even?
end if RUBY_VERSION < '1.9'
end
end
end
# Is the integer not a multiple of 2?
def odd?
!even?
end if RUBY_VERSION < '1.9'
end
26 changes: 10 additions & 16 deletions activesupport/lib/active_support/core_ext/integer/inflections.rb
@@ -1,20 +1,14 @@
require 'active_support/inflector'

module ActiveSupport #:nodoc:
module CoreExtensions #:nodoc:
module Integer #:nodoc:
module Inflections
# Ordinalize turns a number into an ordinal string used to denote the
# position in an ordered sequence such as 1st, 2nd, 3rd, 4th.
#
# 1.ordinalize # => "1st"
# 2.ordinalize # => "2nd"
# 1002.ordinalize # => "1002nd"
# 1003.ordinalize # => "1003rd"
def ordinalize
Inflector.ordinalize(self)
end
end
end
class Integer
# Ordinalize turns a number into an ordinal string used to denote the
# position in an ordered sequence such as 1st, 2nd, 3rd, 4th.
#
# 1.ordinalize # => "1st"
# 2.ordinalize # => "2nd"
# 1002.ordinalize # => "1002nd"
# 1003.ordinalize # => "1003rd"
def ordinalize
Inflector.ordinalize(self)
end
end

0 comments on commit 54cf0fc

Please sign in to comment.