porky_lib 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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