photocopier 1.3.3.pre1 → 1.4.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
- SHA1:
3
- metadata.gz: f7bdf88d550df35ba172df762f8b60a37f2bf4b0
4
- data.tar.gz: dead7c57cd474b87d2312b892c7e719750db45ad
2
+ SHA256:
3
+ metadata.gz: 7a7fec80ee5247825b32a7e95e460f12ec55ea30a60b5a925ccfb097961a1248
4
+ data.tar.gz: 15bea0fdc44453e37d0e0a32d01f047d4f00bb6d879eece7229ea1434f6d6f8b
5
5
  SHA512:
6
- metadata.gz: 4dcb2369db0cea727cc9c233f2848c79147819a1fc08f525ed7d647e598b32a6c88b70bee4d29f7bcc28471f62ac13207de7ebe345dc703b6dfd123965339c00
7
- data.tar.gz: 8fa54e14b16af3c810e4b9b486e78e1b237e44b565104cb33f6ea0b5fed460860ec4c8eb3efe3cf7f7c48b2d1b3ae25db59e673f05c96f865b5a22bbef5479ba
6
+ metadata.gz: 4a3e412f78ec10f3b4da514b74ac968cc42ae36946f02c3850191ece5f90c3f379dc690de60f1c4bc1e30842a302204aaa67fb4065071edca1f877d05439a8f1
7
+ data.tar.gz: c79e1011d06e8b7f0b45d31b0300c1b9c5e11dd378fef4b9bd376012161a569b2230730577394e673530f9859ddf4ca3bc3a811e58bc10266ed5101671f2c413
@@ -0,0 +1,33 @@
1
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
2
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
3
+
4
+ name: Ruby
5
+
6
+ on:
7
+ push:
8
+ branches: [ master ]
9
+ pull_request:
10
+ branches: [ master ]
11
+
12
+ jobs:
13
+ test:
14
+
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby: [2.6.0, 2.7.1]
20
+ steps:
21
+ - uses: actions/checkout@v2
22
+ - name: Set up Ruby
23
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
24
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
25
+ # uses: ruby/setup-ruby@v1
26
+ uses: ruby/setup-ruby@21351ecc0a7c196081abca5dc55b08f085efe09a
27
+ with:
28
+ ruby-version: ${{ matrix.ruby }}
29
+ bundler-cache: true
30
+ - name: Install dependencies
31
+ run: bundle install
32
+ - name: Run tests
33
+ run: bundle exec rake
data/.rubocop.yml CHANGED
@@ -1,18 +1,16 @@
1
- Rails:
2
- Enabled: false
3
-
4
- Rails/Output:
5
- Enabled: false
1
+ inherit_mode:
2
+ merge:
3
+ - Exclude
6
4
 
7
5
  AllCops:
8
- TargetRubyVersion: 2.4
6
+ TargetRubyVersion: 2.6
9
7
  DisplayCopNames: true
10
8
  DisplayStyleGuide: true
11
9
 
12
10
  Exclude:
13
11
  - 'bin/*'
14
12
 
15
- Metrics/LineLength:
13
+ Layout/LineLength:
16
14
  Max: 100
17
15
 
18
16
  Metrics/MethodLength:
@@ -25,6 +23,7 @@ Metrics/BlockLength:
25
23
  Exclude:
26
24
  - 'spec/**/*_spec.rb'
27
25
  - 'spec/factories/*.rb'
26
+ - 'spec/support/shared_examples/*.rb'
28
27
  - '*.gemspec'
29
28
 
30
29
  Metrics/CyclomaticComplexity:
@@ -33,10 +32,6 @@ Metrics/CyclomaticComplexity:
33
32
  Metrics/PerceivedComplexity:
34
33
  Max: 10
35
34
 
36
- Style/StringLiterals:
37
- Enabled: false
38
- EnforcedStyle: double_quotes
39
-
40
35
  Style/Documentation:
41
36
  Enabled: false
42
37
 
@@ -45,3 +40,34 @@ Style/FrozenStringLiteralComment:
45
40
 
46
41
  Metrics/AbcSize:
47
42
  Max: 40
43
+
44
+ Lint/DuplicateBranch: # (new in 1.3)
45
+ Enabled: true
46
+ Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
47
+ Enabled: true
48
+ Lint/EmptyBlock: # (new in 1.1)
49
+ Enabled: true
50
+ Lint/EmptyClass: # (new in 1.3)
51
+ Enabled: true
52
+ Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
53
+ Enabled: true
54
+ Lint/ToEnumArguments: # (new in 1.1)
55
+ Enabled: true
56
+ Lint/UnexpectedBlockArity: # (new in 1.5)
57
+ Enabled: true
58
+ Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
59
+ Enabled: true
60
+ Style/ArgumentsForwarding: # (new in 1.1)
61
+ Enabled: true
62
+ Style/CollectionCompact: # (new in 1.2)
63
+ Enabled: true
64
+ Style/DocumentDynamicEvalDefinition: # (new in 1.1)
65
+ Enabled: true
66
+ Style/NegatedIfElseCondition: # (new in 1.2)
67
+ Enabled: true
68
+ Style/NilLambda: # (new in 1.3)
69
+ Enabled: true
70
+ Style/RedundantArgument: # (new in 1.4)
71
+ Enabled: true
72
+ Style/SwapValues: # (new in 1.1)
73
+ Enabled: true
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.4.1
1
+ 2.6.0
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  Photocopier provides handy FTP/SSH adapters to abstract away file and directory copying.
4
4
  To move directories to/from the remote server, it wraps efficient tools like lftp and rsync.
5
5
 
6
- [![Build Status](https://travis-ci.org/welaika/photocopier.svg?branch=master)](https://travis-ci.org/welaika/photocopier)
6
+ ![Ruby](https://github.com/welaika/photocopier/workflows/Ruby/badge.svg)
7
7
 
8
8
  ## Prerequisites
9
9
 
data/Rakefile CHANGED
@@ -1,8 +1,8 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
- # require 'rubocop/rake_task'
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+ require 'rubocop/rake_task'
4
4
 
5
5
  RSpec::Core::RakeTask.new(:spec)
6
6
  task default: :spec
7
- # RuboCop::RakeTask.new(:rubocop)
8
- # task default: :rubocop
7
+ RuboCop::RakeTask.new(:rubocop)
8
+ task default: :rubocop
@@ -3,7 +3,7 @@ module Photocopier
3
3
  attr_accessor :logger
4
4
 
5
5
  def put(file_path_or_string, remote_path)
6
- if File.exists? file_path_or_string
6
+ if File.exist? file_path_or_string
7
7
  put_file(file_path_or_string, remote_path)
8
8
  else
9
9
  file = Tempfile.new('put')
@@ -15,9 +15,11 @@ module Photocopier
15
15
  end
16
16
 
17
17
  def put_file(file_path, remote_path); end
18
+
18
19
  def put_directory(local_path, remote_path, exclude = []); end
19
20
 
20
21
  def get(remote_path, file_path = nil); end
22
+
21
23
  def get_directory(remote_path, local_path, exclude = []); end
22
24
 
23
25
  def delete(remote_path); end
@@ -25,11 +27,8 @@ module Photocopier
25
27
  protected
26
28
 
27
29
  def run(command)
28
- if logger.present?
29
- logger.info command
30
- end
30
+ logger.info command if logger.present?
31
31
  system command
32
32
  end
33
33
  end
34
-
35
34
  end
@@ -1,8 +1,10 @@
1
1
  module Photocopier
2
2
  class FTP < Adapter
3
+ # rubocop:disable Lint/MissingSuper
3
4
  def initialize(options = {})
4
5
  @options = options
5
6
  end
7
+ # rubocop:enable Lint/MissingSuper
6
8
 
7
9
  def options
8
10
  @options.clone
@@ -49,37 +51,37 @@ module Photocopier
49
51
  remote = Shellwords.escape(remote)
50
52
  local = Shellwords.escape(local)
51
53
  command = [
52
- "set ftp:list-options -a",
54
+ 'set ftp:list-options -a',
53
55
  "set ftp:passive-mode #{options[:passive] || 'false'}",
54
- "set cmd:fail-exit true",
56
+ 'set cmd:fail-exit true',
55
57
  "open -p #{port || inferred_port} #{remote_ftp_url}",
56
58
  "find -d 1 #{remote} || mkdir -p #{remote}",
57
59
  "lcd #{local}",
58
60
  "cd #{remote}",
59
61
  lftp_mirror_arguments(reverse, exclude)
60
- ].join("; ")
62
+ ].join('; ')
61
63
 
62
64
  run "lftp -c '#{command}'"
63
65
  end
64
66
 
65
67
  def remote_ftp_url
66
- url = options[:scheme].dup.presence || "ftp"
67
- url << "://"
68
+ url = options[:scheme].dup.presence || 'ftp'
69
+ url << '://'
68
70
  if options[:user].present?
69
71
  url << CGI.escape(options[:user])
70
72
  url << ":#{CGI.escape(options[:password])}" if options[:password].present?
71
- url << "@"
73
+ url << '@'
72
74
  end
73
75
  url << options[:host]
74
76
  url
75
77
  end
76
78
 
77
79
  def lftp_mirror_arguments(reverse, exclude = [])
78
- mirror = "mirror --delete --use-cache --verbose" \
79
- " --no-perms --allow-suid --no-umask --parallel=5"
80
- mirror << " --reverse --dereference" if reverse
80
+ mirror = 'mirror --delete --use-cache --verbose' \
81
+ ' --no-perms --allow-suid --no-umask --parallel=5'
82
+ mirror << ' --reverse --dereference' if reverse
81
83
  exclude.each do |glob|
82
- mirror << " --exclude-glob #{glob}" # NOTE do not use Shellwords.escape here
84
+ mirror << " --exclude-glob #{glob}" # NOTE: do not use Shellwords.escape here
83
85
  end
84
86
  mirror
85
87
  end
@@ -2,11 +2,13 @@ module Photocopier
2
2
  class SSH < Adapter
3
3
  attr_reader :gateway_options, :rsync_options
4
4
 
5
+ # rubocop:disable Lint/MissingSuper
5
6
  def initialize(options = {})
6
7
  @options = options
7
8
  @gateway_options = options.delete(:gateway)
8
9
  @rsync_options = options.delete(:rsync_options)
9
10
  end
11
+ # rubocop:enable Lint/MissingSuper
10
12
 
11
13
  def options
12
14
  @options.clone
@@ -26,18 +28,18 @@ module Photocopier
26
28
 
27
29
  def get_directory(remote_path, local_path, exclude = [], includes = [])
28
30
  FileUtils.mkdir_p(local_path)
29
- remote_path << "/" unless remote_path.end_with?("/")
31
+ remote_path << '/' unless remote_path.end_with?('/')
30
32
  rsync ":#{remote_path}", local_path, exclude, includes
31
33
  end
32
34
 
33
35
  def put_directory(local_path, remote_path, exclude = [], includes = [])
34
- local_path << "/" unless local_path.end_with?("/")
36
+ local_path << '/' unless local_path.end_with?('/')
35
37
  rsync local_path.to_s, ":#{remote_path}", exclude, includes
36
38
  end
37
39
 
38
40
  def exec!(cmd)
39
- stdout = ""
40
- stderr = ""
41
+ stdout = ''
42
+ stderr = ''
41
43
  exit_code = nil
42
44
  session.open_channel do |channel|
43
45
  channel.exec(cmd) do |_ch, _success|
@@ -47,12 +49,10 @@ module Photocopier
47
49
  channel.on_extended_data do |_ch, _type, data|
48
50
  stderr << data
49
51
  end
50
- channel.on_request("exit-status") do |_ch, data|
52
+ channel.on_request('exit-status') do |_ch, data|
51
53
  exit_code = data.read_long
52
54
  end
53
55
  end
54
-
55
- channel.wait
56
56
  end
57
57
  session.loop
58
58
  [stdout, stderr, exit_code]
@@ -74,14 +74,14 @@ module Photocopier
74
74
 
75
75
  def rsync_command
76
76
  command = [
77
- "rsync",
78
- "--progress",
79
- "-e",
77
+ 'rsync',
78
+ '--progress',
79
+ '-e',
80
80
  "'#{rsh_arguments}'",
81
- "-rlpt",
82
- "--compress",
83
- "--omit-dir-times",
84
- "--delete"
81
+ '-rlpt',
82
+ '--compress',
83
+ '--omit-dir-times',
84
+ '--delete'
85
85
  ]
86
86
  command.concat Shellwords.split(rsync_options).map(&:shellescape) if rsync_options
87
87
  command.compact
@@ -91,30 +91,30 @@ module Photocopier
91
91
  command = rsync_command
92
92
 
93
93
  includes.each do |glob|
94
- command << "--include"
94
+ command << '--include'
95
95
  command << Shellwords.escape(glob)
96
96
  end
97
97
 
98
98
  exclude.each do |glob|
99
- command << "--exclude"
99
+ command << '--exclude'
100
100
  command << Shellwords.escape(glob)
101
101
  end
102
102
 
103
103
  command << Shellwords.escape(source)
104
104
  command << Shellwords.escape(destination)
105
105
 
106
- run command.join(" ")
106
+ run command.join(' ')
107
107
  end
108
108
 
109
109
  def rsh_arguments
110
110
  arguments = []
111
111
  arguments << ssh_command(gateway_options) if gateway_options
112
112
  arguments << ssh_command(options)
113
- arguments.join(" ")
113
+ arguments.join(' ')
114
114
  end
115
115
 
116
116
  def ssh_command(opts)
117
- command = "ssh "
117
+ command = 'ssh '
118
118
  command << "-p #{opts[:port]} " if opts[:port].present?
119
119
  command << "#{opts[:user]}@" if opts[:user].present?
120
120
  command << opts[:host]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_litterla: true
2
2
 
3
3
  module Photocopier
4
- VERSION = "1.3.3.pre1".freeze
4
+ VERSION = '1.4.1'.freeze
5
5
  end
data/lib/photocopier.rb CHANGED
@@ -6,12 +6,11 @@ require 'net/sftp'
6
6
  require 'net/ssh'
7
7
  require 'net/ssh/gateway'
8
8
  require 'net/scp'
9
- require 'fileutils'
10
9
  require 'shellwords'
11
- require "active_support"
12
- require "active_support/core_ext"
10
+ require 'active_support'
11
+ require 'active_support/core_ext'
13
12
 
14
13
  require 'photocopier/adapter'
15
- require "photocopier/ssh"
16
- require "photocopier/ftp"
17
- require "photocopier/ftp/session"
14
+ require 'photocopier/ssh'
15
+ require 'photocopier/ftp'
16
+ require 'photocopier/ftp/session'
data/photocopier.gemspec CHANGED
@@ -1,34 +1,43 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require "photocopier/version"
3
+ require 'photocopier/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "photocopier"
6
+ spec.name = 'photocopier'
7
7
  spec.version = Photocopier::VERSION
8
- spec.authors = ["Stefano Verna", "Ju Liu", "Fabrizio Monti"]
9
- spec.email = ["stefano.verna@welaika.com", "ju.liu@welaika.com", "fabrizio.monti@welaika.com"]
8
+ spec.authors = ['Stefano Verna', 'Ju Liu', 'Fabrizio Monti']
9
+ spec.email = ['stefano.verna@welaika.com', 'ju.liu@welaika.com',
10
+ 'fabrizio.monti@welaika.com']
10
11
 
11
- spec.summary = 'Photocopier provides FTP/SSH adapters to abstract away file and directory copying.'
12
- spec.description = 'Photocopier provides FTP/SSH adapters to abstract away file and directory copying.'
13
- spec.homepage = "https://github.com/welaika/photocopier"
14
- spec.license = "MIT"
12
+ spec.summary = 'Photocopier provides FTP/SSH adapters to abstract away file and ' \
13
+ 'directory copying.'
14
+ spec.description = 'Photocopier provides FTP/SSH adapters to abstract away file and ' \
15
+ 'directory copying.'
16
+ spec.homepage = 'https://github.com/welaika/photocopier'
17
+ spec.license = 'MIT'
15
18
 
16
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
- spec.bindir = "exe"
19
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
20
+ f.match(%r{^(test|spec|features)/})
21
+ end
22
+ spec.bindir = 'exe'
18
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
- spec.require_paths = ["lib"]
24
+ spec.require_paths = ['lib']
20
25
 
21
- spec.required_ruby_version = ">= 2.4.0"
26
+ spec.required_ruby_version = '>= 2.6.0'
22
27
 
23
- spec.add_dependency "activesupport", '~> 5.1', '>= 5.1.1'
24
- spec.add_dependency "net-scp", "~> 1.2", ">= 1.2.1"
25
- spec.add_dependency "net-sftp", "~> 2.1.2"
26
- spec.add_dependency "net-ssh", "~> 4.1"
27
- spec.add_dependency "net-ssh-gateway", "~> 2.0"
28
+ spec.add_dependency 'activesupport', '~> 6.1'
29
+ spec.add_dependency 'net-ftp', '~> 0.1.3'
30
+ spec.add_dependency 'net-scp', '~> 3.0'
31
+ spec.add_dependency 'net-sftp', '~> 3.0'
32
+ spec.add_dependency 'net-ssh', '~> 6.1'
33
+ spec.add_dependency 'net-ssh-gateway', '~> 2.0'
28
34
 
29
- spec.add_development_dependency "bundler", "~> 1.14", '>= 1.14.6'
30
- spec.add_development_dependency "pry-byebug", "~> 3.4", '>= 3.4.2'
31
- spec.add_development_dependency "rake", "~> 12.0"
32
- spec.add_development_dependency "rspec", "~> 3.6"
33
- spec.add_development_dependency "simplecov", "~> 0.14", '>= 0.14.1'
35
+ spec.add_development_dependency 'bundler', '~> 2.2'
36
+ spec.add_development_dependency 'pry-byebug', '~> 3.9'
37
+ spec.add_development_dependency 'rake', '~> 13.0'
38
+ spec.add_development_dependency 'rspec', '~> 3.10'
39
+ spec.add_development_dependency 'rubocop', '~> 1.6'
40
+ spec.add_development_dependency 'rubocop-rake', '~> 0.5'
41
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.0'
42
+ spec.add_development_dependency 'simplecov', '~> 0.20'
34
43
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: photocopier
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3.pre1
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Verna
8
8
  - Ju Liu
9
9
  - Fabrizio Monti
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2019-06-03 00:00:00.000000000 Z
13
+ date: 2022-01-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -18,68 +18,70 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '5.1'
22
- - - ">="
23
- - !ruby/object:Gem::Version
24
- version: 5.1.1
21
+ version: '6.1'
25
22
  type: :runtime
26
23
  prerelease: false
27
24
  version_requirements: !ruby/object:Gem::Requirement
28
25
  requirements:
29
26
  - - "~>"
30
27
  - !ruby/object:Gem::Version
31
- version: '5.1'
32
- - - ">="
28
+ version: '6.1'
29
+ - !ruby/object:Gem::Dependency
30
+ name: net-ftp
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: 0.1.3
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
33
41
  - !ruby/object:Gem::Version
34
- version: 5.1.1
42
+ version: 0.1.3
35
43
  - !ruby/object:Gem::Dependency
36
44
  name: net-scp
37
45
  requirement: !ruby/object:Gem::Requirement
38
46
  requirements:
39
47
  - - "~>"
40
48
  - !ruby/object:Gem::Version
41
- version: '1.2'
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- version: 1.2.1
49
+ version: '3.0'
45
50
  type: :runtime
46
51
  prerelease: false
47
52
  version_requirements: !ruby/object:Gem::Requirement
48
53
  requirements:
49
54
  - - "~>"
50
55
  - !ruby/object:Gem::Version
51
- version: '1.2'
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 1.2.1
56
+ version: '3.0'
55
57
  - !ruby/object:Gem::Dependency
56
58
  name: net-sftp
57
59
  requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
61
  - - "~>"
60
62
  - !ruby/object:Gem::Version
61
- version: 2.1.2
63
+ version: '3.0'
62
64
  type: :runtime
63
65
  prerelease: false
64
66
  version_requirements: !ruby/object:Gem::Requirement
65
67
  requirements:
66
68
  - - "~>"
67
69
  - !ruby/object:Gem::Version
68
- version: 2.1.2
70
+ version: '3.0'
69
71
  - !ruby/object:Gem::Dependency
70
72
  name: net-ssh
71
73
  requirement: !ruby/object:Gem::Requirement
72
74
  requirements:
73
75
  - - "~>"
74
76
  - !ruby/object:Gem::Version
75
- version: '4.1'
77
+ version: '6.1'
76
78
  type: :runtime
77
79
  prerelease: false
78
80
  version_requirements: !ruby/object:Gem::Requirement
79
81
  requirements:
80
82
  - - "~>"
81
83
  - !ruby/object:Gem::Version
82
- version: '4.1'
84
+ version: '6.1'
83
85
  - !ruby/object:Gem::Dependency
84
86
  name: net-ssh-gateway
85
87
  requirement: !ruby/object:Gem::Requirement
@@ -100,88 +102,112 @@ dependencies:
100
102
  requirements:
101
103
  - - "~>"
102
104
  - !ruby/object:Gem::Version
103
- version: '1.14'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 1.14.6
105
+ version: '2.2'
107
106
  type: :development
108
107
  prerelease: false
109
108
  version_requirements: !ruby/object:Gem::Requirement
110
109
  requirements:
111
110
  - - "~>"
112
111
  - !ruby/object:Gem::Version
113
- version: '1.14'
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 1.14.6
112
+ version: '2.2'
117
113
  - !ruby/object:Gem::Dependency
118
114
  name: pry-byebug
119
115
  requirement: !ruby/object:Gem::Requirement
120
116
  requirements:
121
117
  - - "~>"
122
118
  - !ruby/object:Gem::Version
123
- version: '3.4'
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- version: 3.4.2
119
+ version: '3.9'
127
120
  type: :development
128
121
  prerelease: false
129
122
  version_requirements: !ruby/object:Gem::Requirement
130
123
  requirements:
131
124
  - - "~>"
132
125
  - !ruby/object:Gem::Version
133
- version: '3.4'
134
- - - ">="
135
- - !ruby/object:Gem::Version
136
- version: 3.4.2
126
+ version: '3.9'
137
127
  - !ruby/object:Gem::Dependency
138
128
  name: rake
139
129
  requirement: !ruby/object:Gem::Requirement
140
130
  requirements:
141
131
  - - "~>"
142
132
  - !ruby/object:Gem::Version
143
- version: '12.0'
133
+ version: '13.0'
144
134
  type: :development
145
135
  prerelease: false
146
136
  version_requirements: !ruby/object:Gem::Requirement
147
137
  requirements:
148
138
  - - "~>"
149
139
  - !ruby/object:Gem::Version
150
- version: '12.0'
140
+ version: '13.0'
151
141
  - !ruby/object:Gem::Dependency
152
142
  name: rspec
153
143
  requirement: !ruby/object:Gem::Requirement
154
144
  requirements:
155
145
  - - "~>"
156
146
  - !ruby/object:Gem::Version
157
- version: '3.6'
147
+ version: '3.10'
158
148
  type: :development
159
149
  prerelease: false
160
150
  version_requirements: !ruby/object:Gem::Requirement
161
151
  requirements:
162
152
  - - "~>"
163
153
  - !ruby/object:Gem::Version
164
- version: '3.6'
154
+ version: '3.10'
165
155
  - !ruby/object:Gem::Dependency
166
- name: simplecov
156
+ name: rubocop
167
157
  requirement: !ruby/object:Gem::Requirement
168
158
  requirements:
169
159
  - - "~>"
170
160
  - !ruby/object:Gem::Version
171
- version: '0.14'
172
- - - ">="
161
+ version: '1.6'
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
173
167
  - !ruby/object:Gem::Version
174
- version: 0.14.1
168
+ version: '1.6'
169
+ - !ruby/object:Gem::Dependency
170
+ name: rubocop-rake
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '0.5'
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: '0.5'
183
+ - !ruby/object:Gem::Dependency
184
+ name: rubocop-rspec
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '2.0'
175
190
  type: :development
176
191
  prerelease: false
177
192
  version_requirements: !ruby/object:Gem::Requirement
178
193
  requirements:
179
194
  - - "~>"
180
195
  - !ruby/object:Gem::Version
181
- version: '0.14'
182
- - - ">="
196
+ version: '2.0'
197
+ - !ruby/object:Gem::Dependency
198
+ name: simplecov
199
+ requirement: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - "~>"
183
202
  - !ruby/object:Gem::Version
184
- version: 0.14.1
203
+ version: '0.20'
204
+ type: :development
205
+ prerelease: false
206
+ version_requirements: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - "~>"
209
+ - !ruby/object:Gem::Version
210
+ version: '0.20'
185
211
  description: Photocopier provides FTP/SSH adapters to abstract away file and directory
186
212
  copying.
187
213
  email:
@@ -192,12 +218,11 @@ executables: []
192
218
  extensions: []
193
219
  extra_rdoc_files: []
194
220
  files:
221
+ - ".github/workflows/ruby.yml"
195
222
  - ".gitignore"
196
223
  - ".rspec"
197
224
  - ".rubocop.yml"
198
- - ".ruby-gemset"
199
225
  - ".ruby-version"
200
- - ".travis.yml"
201
226
  - ".vscode/launch.json"
202
227
  - CHANGELOG.md
203
228
  - Gemfile
@@ -225,7 +250,7 @@ homepage: https://github.com/welaika/photocopier
225
250
  licenses:
226
251
  - MIT
227
252
  metadata: {}
228
- post_install_message:
253
+ post_install_message:
229
254
  rdoc_options: []
230
255
  require_paths:
231
256
  - lib
@@ -233,16 +258,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
233
258
  requirements:
234
259
  - - ">="
235
260
  - !ruby/object:Gem::Version
236
- version: 2.4.0
261
+ version: 2.6.0
237
262
  required_rubygems_version: !ruby/object:Gem::Requirement
238
263
  requirements:
239
- - - ">"
264
+ - - ">="
240
265
  - !ruby/object:Gem::Version
241
- version: 1.3.1
266
+ version: '0'
242
267
  requirements: []
243
- rubyforge_project:
244
- rubygems_version: 2.6.11
245
- signing_key:
268
+ rubygems_version: 3.0.1
269
+ signing_key:
246
270
  specification_version: 4
247
271
  summary: Photocopier provides FTP/SSH adapters to abstract away file and directory
248
272
  copying.
data/.ruby-gemset DELETED
@@ -1 +0,0 @@
1
- photocopier
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.4.0
4
- - 2.4.3
5
- - 2.5.0