onlyoffice_file_helper 0.3.0 → 1.0.0

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
  SHA256:
3
- metadata.gz: 960f7f59f836fb2dbbdb528ce155c265cb92e380557fa758465686612d4e7176
4
- data.tar.gz: c0b2363e46bbf0ec44824caa4ba9a6085b0eab20597d9e021fe9f4f2447281ed
3
+ metadata.gz: ebad99290f1b01ca78c2c2ff8d1d387d39aa6680d9c1f79e34e5c8a5fd88c92a
4
+ data.tar.gz: 9a6030f9416d7d8e195c5de56102550b297fdcb7d971ad5053fc2a8029b2b4de
5
5
  SHA512:
6
- metadata.gz: 5483180cd580bd34697f23787630bad8eb72e1b879cbde1af1e22473829c07d36dfe73d0bb5834c4897d9e95d808f12cff6daeb5cb0f42c819abc99152185f3e
7
- data.tar.gz: be52527e07d845c960724fa3a2ddbac3a7e31465bd3d8be6792a91a30a3663a673193bd5d7aeeb64d51caab1d62427cca33bd49f3cdc426bf9ce6d14a9b18e76
6
+ metadata.gz: a76a442f4083aa6e26ae4513249bb100954a03923474116b145dec81b07268c2310875b16935f2e166967426fa25919186e6856cbf2d7f9ae5298c28ee6aec68
7
+ data.tar.gz: 5810ca797300bbf5ec5aa99092cc0f53b8046db7e0000e176fb989834275c7b302d68a75afd5710687b52ecd938c02ec46c3832a04c200f4fd3715b9f7e26659
@@ -17,7 +17,7 @@ module OnlyofficeFileHelper
17
17
  # @param [String] content content of file
18
18
  # @return [String] path to created file
19
19
  def create_file_with_content(file_path: '/tmp/temp_file.ext', content: '')
20
- File.open(file_path, 'w') { |f| f.write(content) }
20
+ File.write(file_path, content)
21
21
  OnlyofficeLoggerHelper.log("Created file: #{file_path} with content: #{content}")
22
22
  file_path
23
23
  end
@@ -3,11 +3,14 @@
3
3
  module OnlyofficeFileHelper
4
4
  # Methods used to work with directories
5
5
  module DirectoryMethods
6
+ # @return [Array<String>] list of linux special dirs
7
+ LINUX_SPECIAL_DIRS = %w[.. .].freeze
8
+
6
9
  # Delete directory only if it exists
7
10
  # @param path [String] directory to delete
8
11
  # @return [Void]
9
12
  def delete_directory(path)
10
- FileUtils.rm_rf(path) if Dir.exist?(path)
13
+ FileUtils.rm_rf(path)
11
14
  end
12
15
 
13
16
  # List of files in directory as array
@@ -16,7 +19,7 @@ module OnlyofficeFileHelper
16
19
  def directory_hash(path)
17
20
  files = []
18
21
  Dir.foreach(path).sort.each do |entry|
19
- next if %w[.. .].include?(entry)
22
+ next if LINUX_SPECIAL_DIRS.include?(entry)
20
23
 
21
24
  full_path = File.join(path, entry)
22
25
  files = root_dir_hash(files, full_path)
@@ -8,7 +8,7 @@ module OnlyofficeFileHelper
8
8
  # @return [String] result of read
9
9
  def read_file_to_string(file_name)
10
10
  result_string = ''
11
- raise 'File not found: ' + file_name.to_s unless File.exist?(file_name)
11
+ raise "File not found: #{file_name}" unless File.exist?(file_name)
12
12
 
13
13
  File.open(file_name, 'r') do |infile|
14
14
  while (line = infile.gets)
@@ -2,5 +2,5 @@
2
2
 
3
3
  module OnlyofficeFileHelper
4
4
  # @return [String] version of gem
5
- VERSION = '0.3.0'
5
+ VERSION = '1.0.0'
6
6
  end
@@ -23,9 +23,10 @@ module OnlyofficeFileHelper
23
23
 
24
24
  class << self
25
25
  # Return name of file from full path
26
- # @param [true, false] keep_extension keep extension in result?
26
+ # @param [String] file_path to get name
27
+ # @param [Boolean] keep_extension keep extension in result?
27
28
  # @return [Sting] name of file, with extension or not
28
- def get_filename(file_path, keep_extension = true)
29
+ def filename_from_path(file_path, keep_extension: true)
29
30
  name = Pathname.new(file_path).basename
30
31
  name = File.basename(name, File.extname(name)) unless keep_extension
31
32
  name.to_s
@@ -34,29 +35,28 @@ module OnlyofficeFileHelper
34
35
  # Wait for downloading file
35
36
  # @param path [String] path to waiting download
36
37
  # @param timeout [Integer] timeout to wait
37
- # @return [True, False] result
38
+ # @raise [StandardError] exception if file not downloaded during timeout
39
+ # @return [True] always successful, if not - raising Exception
38
40
  def wait_file_to_download(path, timeout = 300)
39
41
  timer = 0
40
42
  OnlyofficeLoggerHelper.log("Start waiting to download file: #{path}")
41
- until File.exist?(path) && !File.exist?(path + '.part')
43
+ until File.exist?(path) && !File.exist?("#{path}.part")
42
44
  OnlyofficeLoggerHelper.log("Waiting for #{timer} seconds from #{timeout}")
43
45
  sleep 1
44
46
  timer += 1
45
47
  raise "Timeout #{timeout} for downloading file #{path} is exceed" if timer > timeout
46
48
  end
47
49
  sleep 1
48
- timer <= timeout
50
+ true
49
51
  end
50
52
 
51
53
  # Extract archive to folder
52
54
  # @param path_to_archive [String] path of file
53
- # @param path_to_extract [String] result path
54
55
  # @return [Void]
55
- def extract_to_folder(path_to_archive,
56
- path_to_extract = path_to_archive.chomp(File.basename(path_to_archive)))
57
- raise 'File not found: ' + path_to_archive.to_s unless wait_file_to_download(path_to_archive)
56
+ def extract_to_folder(path_to_archive)
57
+ wait_file_to_download(path_to_archive)
58
58
 
59
- path_to_extract += '/' unless path_to_extract[-1] == '/'
59
+ path_to_extract = path_to_archive.chomp(File.basename(path_to_archive))
60
60
  path_to_file = path_to_extract + File.basename(path_to_archive)
61
61
  Zip::File.open(path_to_file) do |zip_file|
62
62
  zip_file.each do |file|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onlyoffice_file_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ONLYOFFICE
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-04-16 00:00:00.000000000 Z
12
+ date: 2022-08-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: onlyoffice_logger_helper
@@ -29,36 +29,148 @@ dependencies:
29
29
  name: rubyzip
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '1'
35
- - - "<"
34
+ version: '2'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '2'
42
+ - !ruby/object:Gem::Dependency
43
+ name: overcommit
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rake
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '13'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '13'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
36
75
  - !ruby/object:Gem::Version
37
76
  version: '3'
38
- type: :runtime
77
+ type: :development
39
78
  prerelease: false
40
79
  version_requirements: !ruby/object:Gem::Requirement
41
80
  requirements:
42
- - - ">="
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '3'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rubocop
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
43
89
  - !ruby/object:Gem::Version
44
90
  version: '1'
45
- - - "<"
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
46
96
  - !ruby/object:Gem::Version
47
- version: '3'
97
+ version: '1'
48
98
  - !ruby/object:Gem::Dependency
49
- name: rake
99
+ name: rubocop-performance
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '1'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '1'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rubocop-rake
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rubocop-rspec
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: '2'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '2'
140
+ - !ruby/object:Gem::Dependency
141
+ name: simplecov
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: yard
50
156
  requirement: !ruby/object:Gem::Requirement
51
157
  requirements:
52
158
  - - "~>"
53
159
  - !ruby/object:Gem::Version
54
- version: '13.0'
160
+ version: '0'
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: 0.9.20
55
164
  type: :development
56
165
  prerelease: false
57
166
  version_requirements: !ruby/object:Gem::Requirement
58
167
  requirements:
59
168
  - - "~>"
60
169
  - !ruby/object:Gem::Version
61
- version: '13.0'
170
+ version: '0'
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: 0.9.20
62
174
  description: ONLYOFFICE Helper Gem for File operation. Used in QA
63
175
  email:
64
176
  - shockwavenn@gmail.com
@@ -76,15 +188,16 @@ files:
76
188
  - lib/onlyoffice_file_helper/ruby_helper.rb
77
189
  - lib/onlyoffice_file_helper/string_helper.rb
78
190
  - lib/onlyoffice_file_helper/version.rb
79
- homepage: https://github.com/onlyoffice-testing-robot/onlyoffice_file_helper
191
+ homepage: https://github.com/ONLYOFFICE-QA/onlyoffice_file_helper
80
192
  licenses:
81
193
  - AGPL-3.0
82
194
  metadata:
83
- bug_tracker_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_file_helper/issues
84
- changelog_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_file_helper/blob/master/CHANGELOG.md
195
+ bug_tracker_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_file_helper/issues
196
+ changelog_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_file_helper/blob/master/CHANGELOG.md
85
197
  documentation_uri: https://www.rubydoc.info/gems/onlyoffice_file_helper
86
- homepage_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_file_helper
87
- source_code_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_file_helper
198
+ homepage_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_file_helper
199
+ source_code_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_file_helper
200
+ rubygems_mfa_required: 'true'
88
201
  post_install_message:
89
202
  rdoc_options: []
90
203
  require_paths:
@@ -93,14 +206,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
93
206
  requirements:
94
207
  - - ">="
95
208
  - !ruby/object:Gem::Version
96
- version: '0'
209
+ version: '2.7'
97
210
  required_rubygems_version: !ruby/object:Gem::Requirement
98
211
  requirements:
99
212
  - - ">="
100
213
  - !ruby/object:Gem::Version
101
214
  version: '0'
102
215
  requirements: []
103
- rubygems_version: 3.1.2
216
+ rubygems_version: 3.3.19
104
217
  signing_key:
105
218
  specification_version: 4
106
219
  summary: ONLYOFFICE Helper Gem for File operation