winrm-fs 1.3.4 → 1.3.5

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: 4cf37aded4f1476cc49122bbbca6471a99f8aca993c576814b84cbc5c5df5a19
4
- data.tar.gz: 065cbd45d85cac20c802fb80658f2827973575a66fca2ebf3e4d7d89850e26f9
3
+ metadata.gz: 22197843455d6d73e34d00c91fd58d4a6201d08f02f61a64d5b971085360aebf
4
+ data.tar.gz: fd9181f9187df12ad0a6812891c29a1e917ccfc9f2d4064448a52d08f0455d05
5
5
  SHA512:
6
- metadata.gz: c03405f8768546eb314bbac0ec02e0d41af49126c3686bc653cdbe8087d474805b293d278bce4951532d62d15638af7e9f4e06697a3d1cb11ee69900f40b00ac
7
- data.tar.gz: 9b2a13482f0aee40125d1879943ad526dc22a9d74f87a7e21f122474af7449033fa3006b2637e27ae8e26abc97f0122fcfacd8d422cc13250cc63d7060b088f2
6
+ metadata.gz: ebf3f8d594d00219a5b19f6eb2ba17ae4f466de4d4eb0929b6f61f8f9075473ccdaff127ab3ed10a06280a309cfe3b5d8976a1857970c3f02a22080413690667
7
+ data.tar.gz: a56cf8645bcb803c377f7146a1c5a005496e74b9b7993b6f18f38dd70c2a4de00174c65cd7abc3a0e409b07fa10a10bab7fce145b5dfb6991744f2c720d9a2e0
@@ -15,9 +15,9 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
 
18
- require 'winrm'
18
+ require 'winrm' unless defined?(WinRM::Connection)
19
19
  require 'logger'
20
- require 'pathname'
20
+ require 'pathname' unless defined?(Pathname)
21
21
  require_relative 'winrm-fs/exceptions'
22
22
  require_relative 'winrm-fs/file_manager'
23
23
 
@@ -17,11 +17,11 @@
17
17
  # See the License for the specific language governing permissions and
18
18
  # limitations under the License.
19
19
 
20
- require 'benchmark'
21
- require 'csv'
22
- require 'digest'
23
- require 'securerandom'
24
- require 'stringio'
20
+ require 'benchmark' unless defined?(Benchmark)
21
+ require 'csv' unless defined?(CSV)
22
+ require 'digest' unless defined?(Digest)
23
+ require 'securerandom' unless defined?(SecureRandom)
24
+ require 'stringio' unless defined?(StringIO)
25
25
 
26
26
  require 'winrm/exceptions'
27
27
  require 'winrm-fs/core/tmp_zip'
@@ -117,6 +117,10 @@ module WinRM
117
117
  [total_size, files]
118
118
  end
119
119
 
120
+ def close
121
+ shell.close
122
+ end
123
+
120
124
  private
121
125
 
122
126
  # @return [String] the Array pack template for Base64 encoding a stream
@@ -18,9 +18,9 @@
18
18
  # limitations under the License.
19
19
 
20
20
  require 'delegate'
21
- require 'pathname'
22
- require 'tempfile'
23
- require 'zip'
21
+ require 'pathname' unless defined?(Pathname)
22
+ require 'tempfile' unless defined?(Tempfile)
23
+ require 'zip' unless defined?(Zip)
24
24
 
25
25
  module WinRM
26
26
  module FS
@@ -113,7 +113,7 @@ module WinRM
113
113
  # directory, excluding directories
114
114
  # @api private
115
115
  def entries
116
- Pathname.glob(dir.join('**/*')).delete_if(&:directory?).sort
116
+ Pathname.glob(dir.join('**/.*')).push(*Pathname.glob(dir.join('**/*'))).delete_if(&:directory?).sort
117
117
  end
118
118
 
119
119
  # (see Logging.log_subject)
@@ -15,7 +15,7 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
 
18
- require 'winrm'
18
+ require 'winrm' unless defined?(WinRM::Connection)
19
19
  require_relative 'scripts/scripts'
20
20
  require_relative 'core/file_transporter'
21
21
 
@@ -37,7 +37,7 @@ module WinRM
37
37
  def checksum(path, digest = 'SHA1')
38
38
  @logger.debug("checksum with #{digest}: #{path}")
39
39
  script = WinRM::FS::Scripts.render('checksum', path: path, digest: digest)
40
- @connection.shell(:powershell) { |e| e.run(script).stdout.chomp }
40
+ ps_run(script).exitcode == 0
41
41
  end
42
42
 
43
43
  # Create the specifed directory recursively
@@ -46,7 +46,7 @@ module WinRM
46
46
  def create_dir(path)
47
47
  @logger.debug("create_dir: #{path}")
48
48
  script = WinRM::FS::Scripts.render('create_dir', path: path)
49
- @connection.shell(:powershell) { |e| e.run(script).exitcode == 0 }
49
+ ps_run(script).exitcode == 0
50
50
  end
51
51
 
52
52
  # Deletes the file or directory at the specified path
@@ -55,7 +55,7 @@ module WinRM
55
55
  def delete(path)
56
56
  @logger.debug("deleting: #{path}")
57
57
  script = WinRM::FS::Scripts.render('delete', path: path)
58
- @connection.shell(:powershell) { |e| e.run(script).exitcode == 0 }
58
+ ps_run(script).exitcode == 0
59
59
  end
60
60
 
61
61
  # Downloads the specified remote file to the specified local path
@@ -87,7 +87,7 @@ module WinRM
87
87
 
88
88
  def _output_from_file(remote_path, chunk_size, index)
89
89
  script = WinRM::FS::Scripts.render('download', path: remote_path, chunk_size: chunk_size, index: index)
90
- @connection.shell(:powershell) { |e| e.run(script) }
90
+ ps_run(script)
91
91
  end
92
92
 
93
93
  def _write_file(tofd, output)
@@ -106,7 +106,7 @@ module WinRM
106
106
  def exists?(path)
107
107
  @logger.debug("exists?: #{path}")
108
108
  script = WinRM::FS::Scripts.render('exists', path: path)
109
- @connection.shell(:powershell) { |e| e.run(script).exitcode == 0 }
109
+ ps_run(script).exitcode == 0
110
110
  end
111
111
 
112
112
  # Gets the current user's TEMP directory on the remote system, for example
@@ -114,7 +114,7 @@ module WinRM
114
114
  # @return [String] Full path to the temp directory
115
115
  def temp_dir
116
116
  @temp_dir ||= begin
117
- (@connection.shell(:powershell) { |e| e.run('$env:TEMP') }).stdout.chomp.tr('\\', '/')
117
+ ps_run('$env:TEMP').stdout.chomp.tr('\\', '/')
118
118
  end
119
119
  end
120
120
 
@@ -139,12 +139,25 @@ module WinRM
139
139
  def upload(local_path, remote_path, &block)
140
140
  @connection.shell(:powershell) do |shell|
141
141
  file_transporter ||= WinRM::FS::Core::FileTransporter.new(shell)
142
- file_transporter.upload(local_path, remote_path, &block)[0]
142
+ begin
143
+ file_transporter.upload(local_path, remote_path, &block)[0]
144
+ ensure
145
+ file_transporter.close
146
+ end
143
147
  end
144
148
  end
145
149
 
146
150
  private
147
151
 
152
+ def ps_run(cmd)
153
+ shell = @connection.shell(:powershell)
154
+ begin
155
+ shell.run(cmd)
156
+ ensure
157
+ shell.close
158
+ end
159
+ end
160
+
148
161
  def download_dir(remote_path, local_path, chunk_size, first)
149
162
  local_path = File.join(local_path, File.basename(remote_path.to_s)) if first
150
163
  FileUtils.mkdir_p(local_path) unless File.directory?(local_path)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: winrm-fs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.4
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shawn Neal
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-11-14 00:00:00.000000000 Z
12
+ date: 2020-09-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: erubi
@@ -185,8 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  - !ruby/object:Gem::Version
186
186
  version: '0'
187
187
  requirements: []
188
- rubyforge_project:
189
- rubygems_version: 2.7.8
188
+ rubygems_version: 3.1.2
190
189
  signing_key:
191
190
  specification_version: 4
192
191
  summary: WinRM File System