91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# File 'lib/bblib/core/util/pluralization.rb', line 91
def self.pluralize(string, num = 2)
full_string = string.to_s
string = string.split(/\s+/).last
sym = string.to_s.downcase.to_sym
if plural = SPECIAL_PLURALS[sym]
result = num == 1 ? string : plural
else
if string.end_with?(*%w{ch z s x o})
result = num == 1 ? string : (string + 'es')
elsif string =~ /[^aeiou]y$/i
result = num == 1 ? string : string.sub(/y$/i, 'ies')
else
result = num == 1 ? string : (string + 's')
end
end
full_string.sub(/#{Regexp.escape(string)}$/, copy_capitalization(string, result).to_s)
end
|