Module: ProgrammingIpsum::Inflector::Noun

Included in:
ProgrammingIpsum::Inflector
Defined in:
lib/programming_ipsum/inflector.rb

Instance Method Summary collapse

Instance Method Details

#plural_noun(word) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/programming_ipsum/inflector.rb', line 12

def plural_noun(word)
  if word =~ /(ss|sh|ch|x|o|z)$/
    word + "es"
  elsif word =~ /[aeiou]y$/
    word + "s"
  elsif word[-1] == 'y'
    word[0..-2] + 'ies'
  elsif word =~ /(.*?)(f|fe|ff)$/
    $1 + 'ves'
  else
    word + 's'
  end
end

#plural_possessive_noun(word) ⇒ Object



34
35
36
# File 'lib/programming_ipsum/inflector.rb', line 34

def plural_possessive_noun(word)
  possessive_noun(plural_noun(word))
end

#possessive_noun(word) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/programming_ipsum/inflector.rb', line 26

def possessive_noun(word)
  if word[-1] == 's'
    word + "'"
  else
    word + "'s"
  end
end