Sha256: ba63a90e18918aacced2a91e7c9ec136af278b5d1bbd18bd29c6fff15fa68a0f
Contents?: true
Size: 731 Bytes
Versions: 2
Compression:
Stored size: 731 Bytes
Contents
module Stamp module Emitters class Ordinal attr_reader :field # @param [field] the field to be formatted (e.g. +:month+, +:year+) def initialize(field) @field = field end def format(target) ordinalize(target.send(field)) end # Cribbed from ActiveSupport::Inflector # https://github.com/rails/rails/blob/master/activesupport/lib/active_support/inflector/methods.rb def ordinalize(number) number.to_s + if (11..13).include?(number % 100) 'th' else case number % 10 when 1; 'st' when 2; 'nd' when 3; 'rd' else 'th' end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stamp-0.6.0 | lib/stamp/emitters/ordinal.rb |
stamp-0.5.0 | lib/stamp/emitters/ordinal.rb |