Module: EnigmaRuby

Defined in:
lib/enigma_ruby.rb,
lib/enigma_ruby/rotor.rb,
lib/enigma_ruby/enigma.rb,
lib/enigma_ruby/version.rb,
lib/enigma_ruby/plugboard.rb,
lib/enigma_ruby/reflector.rb,
lib/enigma_ruby/commands/base.rb,
lib/enigma_ruby/commands/reflect.rb,
lib/enigma_ruby/commands/advance_rotors.rb,
lib/enigma_ruby/commands/swap_plugboard.rb,
lib/enigma_ruby/commands/encode_rotor_forward.rb,
lib/enigma_ruby/commands/encode_rotor_backward.rb

Defined Under Namespace

Modules: Commands Classes: Enigma, Plugboard, Reflector, Rotor

Constant Summary collapse

DEFAULT_ROTOR_SETTINGS =
[
  { wiring: 'EKMFLGDQVZNTOWYHXUSPAIBRCJ', position: 12 },
  { wiring: 'AJDKSIRUXBLHWTMCQGZNPYFVOE', position: 2 },
  { wiring: 'BDFHJLCPRTXVZNYEIWGAKMUSQO', position: 10 },
].freeze
SKIP_CHARACTERS_REGEX =
/[']/.freeze
NON_ENCRYPTED_CHARACTERS_REGEX =
/[ .,;0-9]/.freeze
VERSION =
"0.1.5"

Class Method Summary collapse

Class Method Details

.encrypt(cleartext, rotor_settings = DEFAULT_ROTOR_SETTINGS) ⇒ Object



20
21
22
# File 'lib/enigma_ruby.rb', line 20

def self.encrypt(cleartext, rotor_settings = DEFAULT_ROTOR_SETTINGS)
  Enigma.new(rotor_settings).encrypt(cleartext)
end