class MorseCode::Decoder
Public Class Methods
new(message = '')
click to toggle source
# File lib/morse_code/decoder.rb, line 12 def initialize(message = '') @message = message.dup end
Public Instance Methods
decode()
click to toggle source
# File lib/morse_code/decoder.rb, line 16 def decode [].tap do |decode_words| word = [] @message.split(/\s+/).each do |char| if char == '/' decode_words.push(word.join) word = [] else word.push(decode_char(char)) end end decode_words.push(word.join) unless word.empty? end.join(' ') end
decode_with()
click to toggle source
# File lib/morse_code/decoder.rb, line 31 def decode_with @message.tap { |message| message.gsub!('DIT', '.'); message.gsub!('DAH', '-') } decode end
Also aliased as: dit_dah_to
Private Instance Methods
decode_char(char)
click to toggle source
# File lib/morse_code/decoder.rb, line 39 def decode_char(char) fetch(char) do MorseCode::Base.new(char, self.class.name).call end end