Class: EnigmaEncrypto::Decrypt
- Inherits:
-
Object
- Object
- EnigmaEncrypto::Decrypt
- Defined in:
- lib/enigma_encrypto/decrypt.rb
Instance Method Summary collapse
- #action ⇒ Object
- #check_command_args ⇒ Object
- #decrypt ⇒ Object
- #get_command_args ⇒ Object
-
#initialize ⇒ Decrypt
constructor
A new instance of Decrypt.
Constructor Details
#initialize ⇒ Decrypt
Returns a new instance of Decrypt.
7 8 9 10 11 |
# File 'lib/enigma_encrypto/decrypt.rb', line 7 def initialize @file_handler = FileHandler.new @rotator = Rotator.new @rotation_num_gen = RotationNumGen.new end |
Instance Method Details
#action ⇒ Object
43 44 45 46 47 48 |
# File 'lib/enigma_encrypto/decrypt.rb', line 43 def action exit if !get_command_args exit if !check_command_args decrypt puts "Decrypted #{@decrypted} with the key #{@key} and date #{@date}" end |
#check_command_args ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/enigma_encrypto/decrypt.rb', line 25 def check_command_args if ("%05d" % (@key.to_i)).size != 5 || ("%06d" % (@date.to_i)).size != 6 puts "Incorrect key or date entered" return false; end operation = @file_handler.check_file_useability(@encrypted, @decrypted) return false if operation == false || operation == "c" File.truncate(@decrypted, 0) if operation == "w" true end |
#decrypt ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/enigma_encrypto/decrypt.rb', line 35 def decrypt @reverse_array = @rotation_num_gen.reverse_num_array(@key, @date) @opened_msg = @file_handler.read(@encrypted) length = @opened_msg.size (length) @opened_msg.close end |
#get_command_args ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/enigma_encrypto/decrypt.rb', line 13 def get_command_args if ARGV.length != 4 puts "Oooops!\nIncorrect number of arguments supplied.\nTry again." return false else @encrypted = ARGV[0] @decrypted = ARGV[1] @key = ARGV[2] @date = ARGV[3] end end |