class KennySpeak::Kenny
To Follow
Public Class Methods
from_kenny(str)
click to toggle source
# File lib/kenny_speak.rb, line 28 def self.from_kenny(str) result = '' str.gsub(/\s+/m, ' ').strip.split(' ').each do |word| word.scan(/.{1,3}/).each do |tuple| result += letter_from_kenny(tuple) end result += ' ' end result.rstrip end
kenny_from_letter(letter)
click to toggle source
# File lib/kenny_speak.rb, line 40 def self.kenny_from_letter(letter) upper = false upper = true if letter =~ /[[:upper:]]/ tmp = letter.downcase offset = tmp.ord - 97 tuple = KENNY_LETTERS[offset] return tuple.capitalize if upper tuple end
letter_from_kenny(tuple)
click to toggle source
# File lib/kenny_speak.rb, line 56 def self.letter_from_kenny(tuple) return tuple if tuple.length != 3 # Not a tuple return tuple if tuple[/[a-zA-Z0-9]+/] != tuple # Not just letters upper = false upper = true if tuple.chr =~ /[[:upper:]]/ tmp = tuple.downcase offset = KENNY_LETTERS.index(tmp) return tuple if offset.nil? letter = (offset.to_i + 97).chr return letter.upcase if upper letter end
to_kenny(str)
click to toggle source
# File lib/kenny_speak.rb, line 15 def self.to_kenny(str) result = '' str.split('').each do |c| result += if c =~ /[[:alpha:]]/ kenny_from_letter(c) else c end end result end