module Modifiers
Public Class Methods
baseEngModifiers()
click to toggle source
# File lib/mods-eng-basic.rb, line 34 def self.baseEngModifiers { "replace" => lambda do |s, parameters| return s.gsub(/#{Regexp.quote(parameters[0])}/, parameters[1]) end, "capitalizeAll" => lambda do |s, parameters| return s.gsub(/\w+/) {|word| capitalize word} end, "capitalize" => lambda do |s, parameters| return capitalize s end, "a" => lambda do |s, parameters| if(s.length > 0) then if(s =~ /^u((\wi)|(\W))/) then #catches "university" and "u-boat" return "a #{s}" end if(isVowel(s[0])) then return "an #{s}" end end return "a #{s}" end, "firstS" => lambda do |s, parameters| words = s.split(" ") if(words.length > 0) then words[0] = pluralize words[0] end return words.join " " end, "s" => lambda do |s, parameters| return pluralize(s) end, "ed" => lambda do |s, parameters| case(s[-1]) when 's' then return s + "ed" when 'e' then return s + "d" when 'h' then return s + "ed" when 'x' then return s + "ed" when 'y' then if(!isVowel(s[-2])) then return s[0...-1] + "ied" else return s + "d" end else return s + "ed" end end } end
capitalize(s)
click to toggle source
# File lib/mods-eng-basic.rb, line 25 def self.capitalize(s) head = s[0] remainder = s[1..-1] return s if(head.nil?) head.upcase! return head if remainder.nil? return head + remainder end
isVowel(c)
click to toggle source
# File lib/mods-eng-basic.rb, line 2 def self.isVowel(c) return ['a', 'e', 'i', 'o', 'u'].member?(c.downcase) end
pluralize(s)
click to toggle source
# File lib/mods-eng-basic.rb, line 6 def self.pluralize(s) case(s[-1]) when 's' then return s + "es" when 'h' then return s + "es" when 'x' then return s + "es" when 'y' then if(!isVowel(s[-2])) then return s[0...-1] + "ies" else return s + "s" end else return s + "s" end end