module Ordspel::Language

Public Instance Methods

americanify() click to toggle source
# File lib/ordspel/language.rb, line 150
def americanify
  self.split(" ").join(' like ')
end
belgify() click to toggle source
# File lib/ordspel/language.rb, line 146
def belgify
   self.dutchify.frenchify
end
canadify() click to toggle source
# File lib/ordspel/language.rb, line 154
def canadify
  word_list = ["eh", "sorry", "bud", "crosby", "hockey"]
  self.split(" ").map do |word|
    "#{word} #{word_list.sample}"
  end.join(' ')
end
chinify() click to toggle source
# File lib/ordspel/language.rb, line 66
def chinify
  self.chars.map do |letter|
    if letter =~ /^[l]$/i
      letter = letter =~ /^[l]$/ ? "r" : "R"
    else
      letter
    end
  end.join
end
danify()
Alias for: norwegify
dutchify() click to toggle source
# File lib/ordspel/language.rb, line 105
def dutchify
  self.chars.map do |letter|
    if letter =~ /^[s]$/i
      letter = letter =~ /^[s]$/ ? "sh" : "Sh"
    else
      letter
    end
  end.join
end
frenchify() click to toggle source
# File lib/ordspel/language.rb, line 62
def frenchify
  self.gsub(/\bh/i,'').split(' ').join(' euhhh ') + " euhhh"
end
germanify() click to toggle source
# File lib/ordspel/language.rb, line 80
def germanify
  string = self.split(" ").map { |word| word.capitalize }.join(' ')
  #in case first letters of string are th
  string[0..1] = "Z" if string[0..1] =~ /^th$/i
  string = "JA Zo, " + string
  string = string.gsub(/\sth/i, ' Z')
  string.chars.map do |letter|
    if letter =~ /^[u]$/i
      letter = letter =~ /^[u]$/ ? "ü" : "Ü"
    else
      letter
    end
  end.join
end
irishify() click to toggle source
# File lib/ordspel/language.rb, line 115
def irishify
  "What's the craic? " + self.gsub(/\bMy\b/, 'Me').gsub(/\bmy\b/i, 'me')
end
japanify() click to toggle source
# File lib/ordspel/language.rb, line 76
def japanify
  "You bring dishonor to whole family."
end
norwegify() click to toggle source
# File lib/ordspel/language.rb, line 22
def norwegify
  self.chars.map do |letter|
    case letter
      when /^[#{@@letter_o}]$/i
        letter = letter =~ /^[#{@@letter_o}]$/ ? "ø" : "Ø"
      when /^[#{@@letter_e}]$/i
        letter = letter =~ /^[#{@@letter_e}]$/ ? "æ" : "Æ"
      when /^[#{@@letter_a}]$/i
        letter = letter =~ /^[#{@@letter_a}]$/ ? "å" : "Å"
      when /^w$/i
        letter = letter =~ /^w$/ ? "w" : "W"
      else
        letter
    end
  end.join
end
Also aliased as: danify
portugify() click to toggle source
# File lib/ordspel/language.rb, line 119
def portugify
  self.gsub(/ce\b/i, 'ção').chars.map do |letter|
    case letter
      when /^[#{@@letter_a}]$/i
        letter = letter =~ /^[#{@@letter_a}]$/ ? "ã" : "Ã"
      when /^[c]$/i
        letter = letter =~ /^[c]$/ ? "ç" : "Ç"
      else
        letter
    end
  end.join
end
russify() click to toggle source
# File lib/ordspel/language.rb, line 95
def russify
  self.chars.map do |letter|
    if letter =~ /^[w]$/i
      letter = letter =~ /^[w]$/ ? "v" : "V"
    else
      letter
    end
  end.join
end
spanify() click to toggle source
# File lib/ordspel/language.rb, line 41
def spanify
  self.split(' ').map do |word|
    if word[-1] =~ /^[#{@@consonants}]$/
      word + "o"
    elsif word[-1] =~ /^\W$/
      rev_word = word.reverse
      consonant = rev_word.chars.detect do |letter|
        letter =~ /^[#{@@consonants}]$/
      end
      if consonant
        index = rev_word.index(consonant)
        rev_word[index] = 'o' + rev_word[index]
        word = rev_word.reverse
      end
      word
    else
      word
    end
  end.join(' ')
end
swedify() click to toggle source
# File lib/ordspel/language.rb, line 5
def swedify
  self.chars.map do |letter|
    case letter
      when /^[#{@@letter_o}]$/i
        letter = letter =~ /^[#{@@letter_o}]$/ ? "ö" : "Ö"
      when /^[#{@@letter_e}]$/i
        letter = letter =~ /^[#{@@letter_e}]$/ ? "ä" : "Ä"
      when /^[#{@@letter_a}]$/i
        letter = letter =~ /^[#{@@letter_a}]$/ ? "å" : "Å"
      when /^w$/i
        letter = letter =~ /^w$/ ? "w" : "W"
      else
        letter
    end
  end.join
end
swissify() click to toggle source
# File lib/ordspel/language.rb, line 132
def swissify
  self.frenchify.germanify
end
welshify() click to toggle source
# File lib/ordspel/language.rb, line 136
def welshify
  self.chars.map do |letter|
    if letter =~ /^[#{@@vowels}]$/i
        letter = letter =~ /^[#{@@vowels}]$/ ? "y" : "Y"
    else
      letter
    end
  end.join
end