class ObfuscatedMorseCode::MorseCodeObfuscator
Constants
- DASH_OBFUSCATION_DICTIONARY
Attributes
morse_codes[R]
Public Class Methods
new(morse_codes)
click to toggle source
# File lib/obfuscated_morse_code/morse_code_obfuscator.rb, line 9 def initialize(morse_codes) @morse_codes = morse_codes end
Public Instance Methods
obfuscate()
click to toggle source
# File lib/obfuscated_morse_code/morse_code_obfuscator.rb, line 13 def obfuscate morse_codes.map do |code| obfuscated = replace_dots_with_numbers(code) replace_dashes_with_characters(obfuscated) end end
Private Instance Methods
replace_dashes_with_characters(code)
click to toggle source
# File lib/obfuscated_morse_code/morse_code_obfuscator.rb, line 40 def replace_dashes_with_characters(code) obfuscated_code = '' number_of_dashes_found = 0 code.split('').each do |character| if character == '-' number_of_dashes_found += 1 else if number_of_dashes_found.positive? obfuscated_code += DASH_OBFUSCATION_DICTIONARY[number_of_dashes_found - 1] end obfuscated_code += character number_of_dashes_found = 0 end end obfuscated_code += DASH_OBFUSCATION_DICTIONARY[number_of_dashes_found - 1] if number_of_dashes_found.positive? obfuscated_code end
replace_dots_with_numbers(code)
click to toggle source
# File lib/obfuscated_morse_code/morse_code_obfuscator.rb, line 22 def replace_dots_with_numbers(code) obfuscated_code = '' number_of_dots_found = 0 code.split('').each do |character| if character == '.' number_of_dots_found += 1 else if number_of_dots_found.positive? obfuscated_code += number_of_dots_found.to_s end obfuscated_code += character number_of_dots_found = 0 end end obfuscated_code += number_of_dots_found.to_s if number_of_dots_found.positive? obfuscated_code end