Module: Morse

Defined in:
lib/morse.rb

Overview

Constant Summary collapse

TO_MORSE_DATA =
Hash.new
FROM_MORSE_DATA =
TO_MORSE_DATA.invert

Class Method Summary collapse

Class Method Details

.decode(morse) ⇒ Object

Decodes morse code to text



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/morse.rb', line 56

def Morse.decode(morse)
  result = ""
  morse.upcase.split('  ').each {|word|
    word.split(' ').each {|code|
      result << '?' if FROM_MORSE_DATA[code] == nil
      result << FROM_MORSE_DATA[code] unless FROM_MORSE_DATA[code] == nil
    }
    result << ' '
  }
  result.chop
end

.encode(text) ⇒ Object

Encodes text to morse code.



46
47
48
49
50
51
52
53
# File 'lib/morse.rb', line 46

def Morse.encode(text)
  result = ""
  text.upcase.split('').each {|letter|
    result << ' ' if letter == ' '
    result << TO_MORSE_DATA[letter] << ' ' unless letter == ' ' or TO_MORSE_DATA[letter] == nil
  }
  result.chop
end