Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #4929: irregular_first_char_plurals.diff

File irregular_first_char_plurals.diff, 1.7 kB (added by smeade, 3 years ago)

irregular_first_char_plurals.diff

  • inflections.rb

    old new  
    4747  inflect.irregular('child', 'children') 
    4848  inflect.irregular('sex', 'sexes') 
    4949  inflect.irregular('move', 'moves') 
     50  inflect.irregular('cow', 'kine') 
    5051 
    5152  inflect.uncountable(%w(equipment information rice money species series fish sheep)) 
    5253end 
  • inflector.rb

    old new  
    4747    #   irregular 'octopus', 'octopi' 
    4848    #   irregular 'person', 'people' 
    4949    def irregular(singular, plural) 
    50       plural(Regexp.new("(#{singular[0,1]})#{singular[1..-1]}$", "i"), '\1' + plural[1..-1]) 
    51       singular(Regexp.new("(#{plural[0,1]})#{plural[1..-1]}$", "i"), '\1' + singular[1..-1]) 
     50      if singular[0,1].upcase == plural[0,1].upcase 
     51        plural(Regexp.new("(#{singular[0,1]})#{singular[1..-1]}$", "i"), '\1' + plural[1..-1]) 
     52        singular(Regexp.new("(#{plural[0,1]})#{plural[1..-1]}$", "i"), '\1' + singular[1..-1]) 
     53      else 
     54        plural(Regexp.new("#{singular[0,1].upcase}(?i)#{singular[1..-1]}$"), plural[0,1].upcase + plural[1..-1]) 
     55        plural(Regexp.new("#{singular[0,1].downcase}(?i)#{singular[1..-1]}$"), plural[0,1].downcase + plural[1..-1]) 
     56        singular(Regexp.new("#{plural[0,1].upcase}(?i)#{plural[1..-1]}$"), singular[0,1].upcase + singular[1..-1]) 
     57        singular(Regexp.new("#{plural[0,1].downcase}(?i)#{plural[1..-1]}$"), singular[0,1].downcase + singular[1..-1])         
     58      end 
    5259    end 
    5360     
    5461    # Add uncountable words that shouldn't be attempted inflected.