Class: NdrPseudonymise::NdrEncrypt::RemoteRepository
- Inherits:
-
Object
- Object
- NdrPseudonymise::NdrEncrypt::RemoteRepository
- Defined in:
- lib/ndr_pseudonymise/ndr_encrypt/remote_repository.rb
Overview
Defines a local ndr_encrypt working copy
Instance Method Summary collapse
-
#cat_remote(git_blobid, key_name: nil, private_key: nil, passin: nil) ⇒ Object
Retrieve remote file(s) based on git_blobid.
-
#initialize(base_url: nil) ⇒ RemoteRepository
constructor
rubocop:disable Style/SlicingWithRange.
Constructor Details
#initialize(base_url: nil) ⇒ RemoteRepository
rubocop:disable Style/SlicingWithRange
9 10 11 12 13 14 |
# File 'lib/ndr_pseudonymise/ndr_encrypt/remote_repository.rb', line 9 def initialize(base_url: nil) # We need to support ruby 2.0 so cannot use required keyword arguments syntax raise(ArgumentError, 'missing keyword: :base_url') unless base_url @base_url = base_url end |
Instance Method Details
#cat_remote(git_blobid, key_name: nil, private_key: nil, passin: nil) ⇒ Object
Retrieve remote file(s) based on git_blobid
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/ndr_pseudonymise/ndr_encrypt/remote_repository.rb', line 17 def cat_remote(git_blobid, key_name: nil, private_key: nil, passin: nil) # We need to support ruby 2.0 so cannot use required keyword arguments syntax raise(ArgumentError, 'missing keyword: :key_name') unless key_name raise(ArgumentError, 'missing keyword: :private_key') unless private_key encrypted_id = NdrEncrypt::EncryptedObject.encrypted_id(git_blobid, key_name: key_name) rawdata = retrieve_remote_url(encrypted_id) contents = NdrEncrypt::EncryptedObject.decrypt(rawdata, private_key: private_key, passin: passin) blob = NdrEncrypt::EncryptedObject.decompress(contents) NdrEncrypt::EncryptedObject.unpack_blob(blob) end |