class KnapsackPro::Crypto::Decryptor
Attributes
Public Class Methods
Source
# File lib/knapsack_pro/crypto/decryptor.rb, line 8 def self.call(test_suite, test_files) return test_files unless KnapsackPro::Config::Env.test_files_encrypted? new(test_suite.calculate_test_files.test_files, test_files).call end
Source
# File lib/knapsack_pro/crypto/decryptor.rb, line 14 def initialize(test_files, encrypted_test_files) @test_files = test_files @encrypted_test_files = encrypted_test_files end
Public Instance Methods
Source
# File lib/knapsack_pro/crypto/decryptor.rb, line 19 def call decrypted_test_files = [] test_files.each do |test_file| encrypted_path = Digestor.salt_hexdigest(test_file['path']) encrypted_test_file = find_encrypted_test_file(encrypted_path) next if encrypted_test_file.nil? decrypted_test_file = encrypted_test_file.dup decrypted_test_file['path'] = test_file['path'] decrypted_test_files << decrypted_test_file end decrypted_test_files end
Private Instance Methods
Source
# File lib/knapsack_pro/crypto/decryptor.rb, line 41 def find_encrypted_test_file(encrypted_path) test_files = encrypted_test_files.select do |t| t['path'] == encrypted_path end if test_files.size == 1 test_files.first elsif test_files.size > 1 raise TooManyEncryptedTestFilesError.new("Found more than one encrypted test file for encrypted path #{encrypted_path}") end end