bfs-scp 0.6.0 → 0.6.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
  SHA256:
3
- metadata.gz: 9fc1b42d4747715149cbe00ed2712c973680221579ab7a420ac46f6bd1bb2333
4
- data.tar.gz: abf74a6979b1959547f91ed3ab238dab1a3120ffcd0191dc552c17916c4a0627
3
+ metadata.gz: 806a4a94596c4967bf51c5017c05cc60444a65ef67c8f76e9eb13448d8989428
4
+ data.tar.gz: 465ff7c8af4987f2ac97311cfb8039d584193a60e5837dfca2ba7759986d87cb
5
5
  SHA512:
6
- metadata.gz: 8aef59c1210055d2852a39a1c8100e8f63e19094e6b8708614c66339386321ff15434538e6add8e7112bfd1c6caf360e5cff62ae4c34a9d8a35d642ccf1349ad
7
- data.tar.gz: f1f5755b3f4d2751582d7dd4fc592dad5bfbf98c6e07527372bd04e6dbd52c793c390675a9d7ade419aa854d5e9e9347530828d0c8bd5c1c636d4dd87abc30d3
6
+ metadata.gz: 459ec003bfbd273b9aee278f8fd81533b5d0493d573eefa8c6f9303b9e8d1bb444216ab9bd9d1785b3c92ac0e3e60fce8233535374b9be59658b82c85c7ebe4a
7
+ data.tar.gz: 5b54beb2bd9b9bcfdd40e621adabbb71d34421eee4cddfbae59c0b6c2a32f5fe1156a0657db539880766c33d437d28d2adb458213f7d4eb50e25ffc240ac617a
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.files = `git ls-files`.split("\n")
16
16
  s.test_files = `git ls-files -- spec/*`.split("\n")
17
17
  s.require_paths = ['lib']
18
- s.required_ruby_version = '>= 2.4.0'
18
+ s.required_ruby_version = '>= 2.5.0'
19
19
 
20
20
  s.add_dependency 'bfs', s.version
21
21
  s.add_dependency 'net-scp'
@@ -10,7 +10,7 @@ module BFS
10
10
  class CommandError < RuntimeError
11
11
  attr_reader :status
12
12
 
13
- def initialize(cmd, status, extra=nil)
13
+ def initialize(cmd, status, extra = nil)
14
14
  @status = status
15
15
  super ["Command '#{cmd}' exited with status #{status}", extra].join(': ')
16
16
  end
@@ -28,16 +28,16 @@ module BFS
28
28
  # @option opts [Integer] :keepalive_interval interval if keepalive enabled. Default: 300.
29
29
  # @option opts [Array<String>] :keys an array of file names of private keys to use for publickey and hostbased authentication.
30
30
  # @option opts [Boolean|Symbol] :verify_host_key specifying how strict host-key verification should be, either false, true, :very, or :secure.
31
- def initialize(host, opts={})
31
+ def initialize(host, **opts)
32
32
  opts = opts.dup
33
33
  opts.keys.each do |key|
34
34
  val = opts.delete(key)
35
35
  opts[key.to_sym] = val unless val.nil?
36
36
  end
37
- super(opts)
37
+ super(**opts)
38
38
 
39
39
  @prefix = opts.delete(:prefix)
40
- @client = Net::SCP.start(host, nil, opts)
40
+ @client = Net::SCP.start(host, nil, **opts)
41
41
 
42
42
  if @prefix # rubocop:disable Style/GuardClause
43
43
  @prefix = norm_path(@prefix) + '/'
@@ -46,7 +46,7 @@ module BFS
46
46
  end
47
47
 
48
48
  # Lists the contents of a bucket using a glob pattern
49
- def ls(pattern='**/*', _opts={})
49
+ def ls(pattern = '**/*', **_opts)
50
50
  prefix = @prefix ? abs_path(@prefix) : '/'
51
51
  Enumerator.new do |y|
52
52
  sh! 'find', prefix, '-type', 'f' do |out|
@@ -59,7 +59,7 @@ module BFS
59
59
  end
60
60
 
61
61
  # Info returns the object info
62
- def info(path, _opts={})
62
+ def info(path, **_opts)
63
63
  full = full_path(path)
64
64
  path = norm_path(path)
65
65
  out = sh! 'stat', '-c', '%s;%Z', full
@@ -71,12 +71,15 @@ module BFS
71
71
  end
72
72
 
73
73
  # Creates a new file and opens it for writing
74
- def create(path, opts={}, &block)
74
+ # @option opts [String|Encoding] :encoding Custom file encoding.
75
+ # @option opts [Integer] :perm Custom file permission, default: 0600.
76
+ def create(path, **opts, &block)
75
77
  full = full_path(path)
78
+ perm = opts[:perm]
76
79
  enc = opts.delete(:encoding) || @encoding
77
- temp = BFS::TempWriter.new(path, encoding: enc) do |temp_path|
80
+ temp = BFS::TempWriter.new(path, perm: perm, encoding: enc) do |temp_path|
78
81
  mkdir_p File.dirname(full)
79
- @client.upload!(temp_path, full)
82
+ @client.upload!(temp_path, full, preserve: true)
80
83
  end
81
84
  return temp unless block
82
85
 
@@ -88,7 +91,7 @@ module BFS
88
91
  end
89
92
 
90
93
  # Opens an existing file for reading
91
- def open(path, opts={}, &block)
94
+ def open(path, **opts, &block)
92
95
  full = full_path(path)
93
96
  enc = opts.delete(:encoding) || @encoding
94
97
  temp = Tempfile.new(File.basename(path), encoding: enc)
@@ -101,7 +104,7 @@ module BFS
101
104
  end
102
105
 
103
106
  # Deletes a file.
104
- def rm(path, _opts={})
107
+ def rm(path, **_opts)
105
108
  path = full_path(path)
106
109
  sh! 'rm', '-f', path
107
110
  end
@@ -110,7 +113,7 @@ module BFS
110
113
  #
111
114
  # @param [String] src The source path.
112
115
  # @param [String] dst The destination path.
113
- def cp(src, dst, _opts={})
116
+ def cp(src, dst, **_opts)
114
117
  full_src = full_path(src)
115
118
  full_dst = full_path(dst)
116
119
 
@@ -124,7 +127,7 @@ module BFS
124
127
  #
125
128
  # @param [String] src The source path.
126
129
  # @param [String] dst The destination path.
127
- def mv(src, dst, _opts={})
130
+ def mv(src, dst, **_opts)
128
131
  full_src = full_path(src)
129
132
  full_dst = full_path(dst)
130
133
 
@@ -195,5 +198,5 @@ BFS.register('scp', 'ssh') do |url|
195
198
  opts[:password] ||= CGI.unescape(url.password) if url.password
196
199
  opts[:port] ||= url.port if url.port
197
200
 
198
- BFS::Bucket::SCP.new url.host, opts
201
+ BFS::Bucket::SCP.new(url.host, **opts)
199
202
  end
@@ -14,14 +14,14 @@ run_spec = \
14
14
 
15
15
  RSpec.describe BFS::Bucket::SCP, if: run_spec do
16
16
  context 'absolute' do
17
- subject { described_class.new sandbox[:host], sandbox[:opts].merge(prefix: SecureRandom.uuid) }
17
+ subject { described_class.new sandbox[:host], **sandbox[:opts].merge(prefix: SecureRandom.uuid) }
18
18
  after { subject.close }
19
19
 
20
20
  it_behaves_like 'a bucket', content_type: false, metadata: false
21
21
  end
22
22
 
23
23
  context 'relative' do
24
- subject { described_class.new sandbox[:host], sandbox[:opts].merge(prefix: "~/#{SecureRandom.uuid}") }
24
+ subject { described_class.new sandbox[:host], **sandbox[:opts].merge(prefix: "~/#{SecureRandom.uuid}") }
25
25
  after { subject.close }
26
26
 
27
27
  it_behaves_like 'a bucket', content_type: false, metadata: false
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bfs-scp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dimitrij Denissenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-19 00:00:00.000000000 Z
11
+ date: 2020-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bfs
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.6.0
19
+ version: 0.6.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.6.0
26
+ version: 0.6.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: net-scp
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -60,14 +60,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: 2.4.0
63
+ version: 2.5.0
64
64
  required_rubygems_version: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  requirements: []
70
- rubygems_version: 3.0.6
70
+ rubygems_version: 3.1.2
71
71
  signing_key:
72
72
  specification_version: 4
73
73
  summary: SCP/SSH adapter for bfs