photocopier 1.2.0 → 1.3.0.pre

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
  SHA1:
3
- metadata.gz: 0b3b9cc3cc86c153ef1c704c256048043f9f21a8
4
- data.tar.gz: 306c1a3a7cf48f236f2e8ace351f07b66e5d76b7
3
+ metadata.gz: c7c9e146b3e1470970f2f95815ef0bac16517ee2
4
+ data.tar.gz: b9a43d8c3b696e6b755f8888d6286ad8512bdceb
5
5
  SHA512:
6
- metadata.gz: fd735bbe44ad3c88e03e55a45bcd8bc0424939e4c26fd34625e4a367548ab72acfd647129b0d56260ba07afd8928f97887b00e7b3a8d26c545ca93c39962b12d
7
- data.tar.gz: 532d2583c6eb1a0fb225a3ef7b6b12ca3e1fb242e9bb6f72fcedffe4f4c7e92b28ff2918bf144a5134262443a4e9a8b703d42c91d1059478a569bbe62a73c282
6
+ metadata.gz: 30e977409752782228a0b4dd73d496b5308236a4770c752efe46b3b88ec2785bbce9f808e1ac06ae9fece98719d9a263874ef1ad9d42471ec092a32be29d6cd6
7
+ data.tar.gz: 66c2b1d04a8715715262875d8c317eaff2a3d2b638a95083a08afff4af826b30d4e4a3aaf177197c07c69556be6af5cdf00fff0dfaabe17a74d4fecb5d39d126
@@ -0,0 +1,46 @@
1
+ module Photocopier
2
+ class FTP
3
+ class Session
4
+ def initialize(options)
5
+ @scheme = options[:scheme]
6
+
7
+ if sftp?
8
+ @session = Net::SFTP.start(options[:host], options[:user], password: options[:password])
9
+ else
10
+ @session = Net::FTP.open(options[:host], options[:user], options[:password])
11
+ @session.passive = options[:passive] if options.key?(:passive)
12
+ end
13
+ end
14
+
15
+ def get(remote, local)
16
+ if sftp?
17
+ @session.download!(remote, local)
18
+ else
19
+ @session.get(remote, local)
20
+ end
21
+ end
22
+
23
+ def put_file(local, remote)
24
+ if sftp?
25
+ @session.upload!(local, remote)
26
+ else
27
+ @session.put(local, remote)
28
+ end
29
+ end
30
+
31
+ def delete(remote)
32
+ if sftp?
33
+ @session.remove!(remote)
34
+ else
35
+ @session.delete(remote)
36
+ end
37
+ end
38
+
39
+ private
40
+
41
+ def sftp?
42
+ @scheme == 'sftp'
43
+ end
44
+ end
45
+ end
46
+ end
@@ -13,7 +13,7 @@ module Photocopier
13
13
  end
14
14
 
15
15
  def put_file(file_path, remote_path)
16
- session.put file_path, remote_path
16
+ session.put_file file_path, remote_path
17
17
  end
18
18
 
19
19
  def delete(remote_path)
@@ -32,11 +32,7 @@ module Photocopier
32
32
  private
33
33
 
34
34
  def session
35
- if @session.nil?
36
- @session = Net::FTP.open(options[:host], options[:user], options[:password])
37
- @session.passive = options[:passive] if options.has_key?(:passive)
38
- end
39
- @session
35
+ @session ||= Session.new(options)
40
36
  end
41
37
 
42
38
  def lftp(local, remote, reverse, exclude)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_litterla: true
2
2
 
3
3
  module Photocopier
4
- VERSION = "1.2.0".freeze
4
+ VERSION = "1.3.0.pre".freeze
5
5
  end
data/lib/photocopier.rb CHANGED
@@ -2,6 +2,7 @@ require 'tempfile'
2
2
  require 'logger'
3
3
  require 'fileutils'
4
4
  require 'net/ftp'
5
+ require 'net/sftp'
5
6
  require 'net/ssh'
6
7
  require 'net/ssh/gateway'
7
8
  require 'net/scp'
@@ -13,3 +14,4 @@ require "active_support/core_ext"
13
14
  require 'photocopier/adapter'
14
15
  require "photocopier/ssh"
15
16
  require "photocopier/ftp"
17
+ require "photocopier/ftp/session"
data/photocopier.gemspec CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.add_dependency "activesupport", '~> 5.1', '>= 5.1.1'
24
24
  spec.add_dependency "net-scp", "~> 1.2", ">= 1.2.1"
25
+ spec.add_dependency "net-sftp", "~> 2.1.2"
25
26
  spec.add_dependency "net-ssh", "~> 4.1"
26
27
  spec.add_dependency "net-ssh-gateway", "~> 2.0"
27
28
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: photocopier
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Verna
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2018-05-22 00:00:00.000000000 Z
13
+ date: 2018-07-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.2.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: net-sftp
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.1.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.1.2
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: net-ssh
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -203,6 +217,7 @@ files:
203
217
  - lib/photocopier.rb
204
218
  - lib/photocopier/adapter.rb
205
219
  - lib/photocopier/ftp.rb
220
+ - lib/photocopier/ftp/session.rb
206
221
  - lib/photocopier/ssh.rb
207
222
  - lib/photocopier/version.rb
208
223
  - photocopier.gemspec
@@ -221,9 +236,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
221
236
  version: 2.4.0
222
237
  required_rubygems_version: !ruby/object:Gem::Requirement
223
238
  requirements:
224
- - - ">="
239
+ - - ">"
225
240
  - !ruby/object:Gem::Version
226
- version: '0'
241
+ version: 1.3.1
227
242
  requirements: []
228
243
  rubyforge_project:
229
244
  rubygems_version: 2.6.11