porky_lib 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19b718381824aafedef703480921fd9fe899e626
4
- data.tar.gz: b64260ec8053b525a43d069892ca2e54da7f99b6
3
+ metadata.gz: 8f7a8b165ff0aea52419016bda857aa54eed937a
4
+ data.tar.gz: 42e0ecf5da4705ec06d4caca5ad5c0ac0b8b4b28
5
5
  SHA512:
6
- metadata.gz: cfcf429664d82469a425401afbf5b6d149ec71ef942b9c88b3c5b9a588c2731ae5f5945e4fb17f23ec9332858e40acaf4a23bff5dbda3e546b657cc6f585f119
7
- data.tar.gz: e8ce54df309f48201fc36c7835673c80e9d438a9d88c1474cc56bc57a9dc973f2bd7885b0ba70d84bb2ff1b401566f4fe43ebce5d37e67971dd5b8a02999675f
6
+ metadata.gz: 6eb4d547ffe82efea3a1689e725c14fa6e2493e5fc3a955884f7c6a327f3b5b7eb7e7d0c9c9f2fbc5132de532fc11582aaf6682da8cbb688f5751c4f235565cd
7
+ data.tar.gz: d529b67755e6dec6724e8d9cda9323328a7e17f6e06eac468a47f8f77233e3ddc1e8a03f955e45a18eae0b8d9e16818e07f65ed6103dbb59e5dcc6453f719b02
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- porky_lib (0.3.0)
4
+ porky_lib (0.3.1)
5
5
  aws-sdk-kms
6
6
  aws-sdk-s3
7
7
  msgpack
@@ -43,6 +43,24 @@ class PorkyLib::FileService
43
43
  file_key
44
44
  end
45
45
 
46
+ def overwrite_file(file, file_key, bucket_name, key_id, options = {})
47
+ raise FileServiceError, 'Invalid input. One or more input values is nil' if input_invalid?(file, bucket_name, key_id)
48
+ raise FileServiceError, 'Invalid input. file_key cannot be nil if overwriting an existing file' if file_key.nil?
49
+ raise FileSizeTooLargeError, "File size is larger than maximum allowed size of #{max_file_size}" if file_size_invalid?(file)
50
+
51
+ data = file_data(file)
52
+ tempfile = encrypt_file_contents(data, key_id, file_key)
53
+
54
+ begin
55
+ perform_upload(bucket_name, file_key, tempfile, options)
56
+ rescue Aws::Errors::ServiceError => e
57
+ raise FileServiceError, "Attempt to upload a file to S3 failed.\n#{e.message}"
58
+ end
59
+
60
+ # Remove tempfile from disk
61
+ tempfile.unlink
62
+ end
63
+
46
64
  private
47
65
 
48
66
  def input_invalid?(file, bucket_name, key_id)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PorkyLib
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: porky_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Greg Fletcher