onlyoffice_s3_wrapper 0.4.0 → 1.0.0

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
  SHA256:
3
- metadata.gz: f371300c8b28c568d47bf7dc85ce6815026833b540bfc8e9b9ac602856f15c82
4
- data.tar.gz: 5d08e52e477eb493d027914258196b55b3af4a0230b3215e0b62eb0871126cc5
3
+ metadata.gz: 4f759299fdd77c2713fe455c51d27d341b35ca6eb011ba5fb5672418ac29804d
4
+ data.tar.gz: 52f1566fa9c5d47f81c7f107537480ec6f5c901955036e4b5186ddb372344c22
5
5
  SHA512:
6
- metadata.gz: ca9c3f1b34c432beb95f37e4d1bab93d5a6bc74c132a0f76c680f90a06f59bd87f75f151cdecca8062e5c044a51b9fb5dd99e78966fc24e839a9b1a5ae07e4f0
7
- data.tar.gz: 163fe1a244b2bc4a41fcd1ba8469501e36a3b24a48f16511818eda6a7af267e68a30a8be0257eeafdd58fa80cf16d2ef9b7aecc9886ca94de68bfe2a50f8221f
6
+ metadata.gz: 6adf855422c3d44b99a6c357eb680330feb6c9b4644ced8d76173f55b64781fe731ab1e44646c82c511c826ac70d7d373743968340f9973054d9c55a5430732d
7
+ data.tar.gz: 67c4fcf4192b16197d9d91c9a762424b02286f309cc0073f3bea09f0d94fc81409546130b5d5d505d428b0d1fb3e34ffed62a203349b7c664b8afd0074842ca1
@@ -2,5 +2,5 @@
2
2
 
3
3
  module OnlyofficeS3Wrapper
4
4
  # [String] Version of gem
5
- VERSION = '0.4.0'
5
+ VERSION = '1.0.0'
6
6
  end
@@ -11,6 +11,9 @@ require 'onlyoffice_s3_wrapper/version'
11
11
  module OnlyofficeS3Wrapper
12
12
  # Class for working with amazon s3
13
13
  class AmazonS3Wrapper
14
+ # @return [String] default content type for uploaded files
15
+ DEFAULT_CONTENT_TYPE = 'binary/octet-stream'
16
+
14
17
  include PathHelper
15
18
  attr_accessor :s3, :bucket, :download_folder
16
19
  # [String] Amazon key
@@ -38,6 +41,16 @@ module OnlyofficeS3Wrapper
38
41
  .reject { |file| folder?(file) }
39
42
  end
40
43
 
44
+ # Get list of files from specific folder
45
+ # Will not use folder name as prefix, will always try to look at folder
46
+ # with exact specified name
47
+ # @param [String] folder to get files
48
+ # @return [Array<Object>] result set
49
+ def files_from_folder(folder = nil)
50
+ folder = "#{folder}/" unless folder.end_with?('/')
51
+ get_files_by_prefix(folder)
52
+ end
53
+
41
54
  # param [String] prefix
42
55
  # return [Array] of folder names with '/'
43
56
  # in end and filenames with fullpath (started ad prefix)
@@ -93,11 +106,12 @@ module OnlyofficeS3Wrapper
93
106
  # Upload file
94
107
  # @param file_path [String] file to upload
95
108
  # @param upload_folder [String] path to upload
109
+ # @param content_type [String] content type of file to upload
96
110
  # @return [nil]
97
- def upload_file(file_path, upload_folder)
111
+ def upload_file(file_path, upload_folder, content_type = DEFAULT_CONTENT_TYPE)
98
112
  path = bucket_file_path(File.basename(file_path),
99
113
  upload_folder)
100
- @bucket.object(path).upload_file(file_path)
114
+ @bucket.object(path).upload_file(file_path, content_type: content_type)
101
115
  end
102
116
 
103
117
  # Make file public
@@ -119,9 +133,12 @@ module OnlyofficeS3Wrapper
119
133
  # Upload file/folder and make public
120
134
  # @param file_path [String] file to upload
121
135
  # @param upload_folder [True, False] is this a folder
136
+ # @param content_type [String] content type of file to upload
122
137
  # @return [String] public url
123
- def upload_file_and_make_public(file_path, upload_folder = nil)
124
- upload_file(file_path, upload_folder)
138
+ def upload_file_and_make_public(file_path,
139
+ upload_folder = nil,
140
+ content_type = DEFAULT_CONTENT_TYPE)
141
+ upload_file(file_path, upload_folder, content_type)
125
142
  make_public(bucket_file_path(File.basename(file_path), upload_folder))
126
143
  @bucket.object(bucket_file_path(File.basename(file_path),
127
144
  upload_folder)).public_url
@@ -142,8 +159,8 @@ module OnlyofficeS3Wrapper
142
159
  @access_key_id = File.read("#{key_location}/key").strip
143
160
  @secret_access_key = File.read("#{key_location}/private_key").strip
144
161
  rescue Errno::ENOENT
145
- raise Errno::ENOENT, "No key or private key found in #{key_location} "\
146
- "Please create files #{key_location}/key "\
162
+ raise Errno::ENOENT, "No key or private key found in #{key_location} " \
163
+ "Please create files #{key_location}/key " \
147
164
  "and #{key_location}/private_key"
148
165
  end
149
166
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onlyoffice_s3_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ONLYOFFICE
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-11-28 00:00:00.000000000 Z
13
+ date: 2022-08-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: aws-sdk-s3
@@ -30,16 +30,16 @@ dependencies:
30
30
  name: onlyoffice_file_helper
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - "~>"
33
+ - - "<"
34
34
  - !ruby/object:Gem::Version
35
- version: '0'
35
+ version: '2'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - "~>"
40
+ - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '0'
42
+ version: '2'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: overcommit
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -193,6 +193,7 @@ metadata:
193
193
  documentation_uri: https://www.rubydoc.info/gems/onlyoffice_s3_wrapper
194
194
  homepage_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_s3_wrapper
195
195
  source_code_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_s3_wrapper
196
+ rubygems_mfa_required: 'true'
196
197
  post_install_message:
197
198
  rdoc_options: []
198
199
  require_paths:
@@ -201,14 +202,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
201
202
  requirements:
202
203
  - - ">="
203
204
  - !ruby/object:Gem::Version
204
- version: '2.5'
205
+ version: '2.7'
205
206
  required_rubygems_version: !ruby/object:Gem::Requirement
206
207
  requirements:
207
208
  - - ">="
208
209
  - !ruby/object:Gem::Version
209
210
  version: '0'
210
211
  requirements: []
211
- rubygems_version: 3.1.4
212
+ rubygems_version: 3.3.19
212
213
  signing_key:
213
214
  specification_version: 4
214
215
  summary: ONLYOFFICE Helper Gem for S3