photocopier 1.3.3.pre3 → 1.4.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
- SHA1:
3
- metadata.gz: 23cff4f77ede25810036e4974e22fb6ac0a10387
4
- data.tar.gz: 8b11372913559d96088d42fb102b145cb9bb091f
2
+ SHA256:
3
+ metadata.gz: 777855dbc8e43b1f8047e8e4e1216f033157362dec70b88e90f36db3ba74f260
4
+ data.tar.gz: c40c5471fe3896b29ef9d8d3dd719083ad4a4d09dfc85dcb297cfffa69f8ce20
5
5
  SHA512:
6
- metadata.gz: b700b1828d1d15dff08ce427a9c4e532b65109f3f99070d6c98d1714995bb1297539bc1cae6733fd5abbbd0de361aa1a316d8f2b941f8613e7bfc9ec5b17eaa7
7
- data.tar.gz: 7ee947a1930175493077f8824812e3af9d6af9c484fc74746242dea01fc87d31548ad5922511ae0a8f8c267fe7a144319b3b688ba96634ed97c0125f4d683bd7
6
+ metadata.gz: e98bc1a0f6c4c37bce0fd18a112cb8f96504093641bfe52a917bcf89b45b20f8f7afa61db9aea2d8fec6bbfbdb970293110599d4575f511b70d1b3748ab32ea5
7
+ data.tar.gz: 149f452aef5032c1927083e975f5714b20b829b026954d5f33e9e990eafe7d5529e271f0039caa1139748b0af48601acc21b5cfc33a0c2ff7033a75b83930b60
@@ -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
@@ -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
@@ -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
@@ -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'
@@ -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,21 +28,20 @@ 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
- my_session = session
43
- my_session.open_channel do |channel|
44
+ session.open_channel do |channel|
44
45
  channel.exec(cmd) do |_ch, _success|
45
46
  channel.on_data do |_ch, data|
46
47
  stdout << data
@@ -48,14 +49,12 @@ module Photocopier
48
49
  channel.on_extended_data do |_ch, _type, data|
49
50
  stderr << data
50
51
  end
51
- channel.on_request("exit-status") do |_ch, data|
52
+ channel.on_request('exit-status') do |_ch, data|
52
53
  exit_code = data.read_long
53
54
  end
54
55
  end
55
-
56
- channel.wait
57
56
  end
58
- my_session.loop
57
+ session.loop
59
58
  [stdout, stderr, exit_code]
60
59
  end
61
60
 
@@ -66,23 +65,23 @@ module Photocopier
66
65
  host = opts.delete(:host)
67
66
  user = opts.delete(:user)
68
67
 
69
- if gateway_options
70
- gateway.ssh(host, user, opts)
71
- else
72
- Net::SSH.start(host, user, opts)
73
- end
68
+ @session ||= if gateway_options
69
+ gateway.ssh(host, user, opts)
70
+ else
71
+ Net::SSH.start(host, user, opts)
72
+ end
74
73
  end
75
74
 
76
75
  def rsync_command
77
76
  command = [
78
- "rsync",
79
- "--progress",
80
- "-e",
77
+ 'rsync',
78
+ '--progress',
79
+ '-e',
81
80
  "'#{rsh_arguments}'",
82
- "-rlpt",
83
- "--compress",
84
- "--omit-dir-times",
85
- "--delete"
81
+ '-rlpt',
82
+ '--compress',
83
+ '--omit-dir-times',
84
+ '--delete'
86
85
  ]
87
86
  command.concat Shellwords.split(rsync_options).map(&:shellescape) if rsync_options
88
87
  command.compact
@@ -92,30 +91,30 @@ module Photocopier
92
91
  command = rsync_command
93
92
 
94
93
  includes.each do |glob|
95
- command << "--include"
94
+ command << '--include'
96
95
  command << Shellwords.escape(glob)
97
96
  end
98
97
 
99
98
  exclude.each do |glob|
100
- command << "--exclude"
99
+ command << '--exclude'
101
100
  command << Shellwords.escape(glob)
102
101
  end
103
102
 
104
103
  command << Shellwords.escape(source)
105
104
  command << Shellwords.escape(destination)
106
105
 
107
- run command.join(" ")
106
+ run command.join(' ')
108
107
  end
109
108
 
110
109
  def rsh_arguments
111
110
  arguments = []
112
111
  arguments << ssh_command(gateway_options) if gateway_options
113
112
  arguments << ssh_command(options)
114
- arguments.join(" ")
113
+ arguments.join(' ')
115
114
  end
116
115
 
117
116
  def ssh_command(opts)
118
- command = "ssh "
117
+ command = 'ssh '
119
118
  command << "-p #{opts[:port]} " if opts[:port].present?
120
119
  command << "#{opts[:user]}@" if opts[:user].present?
121
120
  command << opts[:host]
@@ -131,7 +130,7 @@ module Photocopier
131
130
  host = opts.delete(:host)
132
131
  user = opts.delete(:user)
133
132
 
134
- Net::SSH::Gateway.new(host, user, opts)
133
+ @gateway ||= Net::SSH::Gateway.new(host, user, opts)
135
134
  end
136
135
  end
137
136
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_litterla: true
2
2
 
3
3
  module Photocopier
4
- VERSION = "1.3.3.pre3".freeze
4
+ VERSION = '1.4.0'.freeze
5
5
  end
@@ -1,34 +1,42 @@
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-scp', '~> 3.0'
30
+ spec.add_dependency 'net-sftp', '~> 3.0'
31
+ spec.add_dependency 'net-ssh', '~> 6.1'
32
+ spec.add_dependency 'net-ssh-gateway', '~> 2.0'
28
33
 
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'
34
+ spec.add_development_dependency 'bundler', '~> 2.2'
35
+ spec.add_development_dependency 'pry-byebug', '~> 3.9'
36
+ spec.add_development_dependency 'rake', '~> 13.0'
37
+ spec.add_development_dependency 'rspec', '~> 3.10'
38
+ spec.add_development_dependency 'rubocop', '~> 1.6'
39
+ spec.add_development_dependency 'rubocop-rake', '~> 0.5'
40
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.0'
41
+ spec.add_development_dependency 'simplecov', '~> 0.20'
34
42
  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.pre3
4
+ version: 1.4.0
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-09 00:00:00.000000000 Z
13
+ date: 2020-12-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -18,68 +18,56 @@ 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
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: 5.1.1
28
+ version: '6.1'
35
29
  - !ruby/object:Gem::Dependency
36
30
  name: net-scp
37
31
  requirement: !ruby/object:Gem::Requirement
38
32
  requirements:
39
33
  - - "~>"
40
34
  - !ruby/object:Gem::Version
41
- version: '1.2'
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- version: 1.2.1
35
+ version: '3.0'
45
36
  type: :runtime
46
37
  prerelease: false
47
38
  version_requirements: !ruby/object:Gem::Requirement
48
39
  requirements:
49
40
  - - "~>"
50
41
  - !ruby/object:Gem::Version
51
- version: '1.2'
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: 1.2.1
42
+ version: '3.0'
55
43
  - !ruby/object:Gem::Dependency
56
44
  name: net-sftp
57
45
  requirement: !ruby/object:Gem::Requirement
58
46
  requirements:
59
47
  - - "~>"
60
48
  - !ruby/object:Gem::Version
61
- version: 2.1.2
49
+ version: '3.0'
62
50
  type: :runtime
63
51
  prerelease: false
64
52
  version_requirements: !ruby/object:Gem::Requirement
65
53
  requirements:
66
54
  - - "~>"
67
55
  - !ruby/object:Gem::Version
68
- version: 2.1.2
56
+ version: '3.0'
69
57
  - !ruby/object:Gem::Dependency
70
58
  name: net-ssh
71
59
  requirement: !ruby/object:Gem::Requirement
72
60
  requirements:
73
61
  - - "~>"
74
62
  - !ruby/object:Gem::Version
75
- version: '4.1'
63
+ version: '6.1'
76
64
  type: :runtime
77
65
  prerelease: false
78
66
  version_requirements: !ruby/object:Gem::Requirement
79
67
  requirements:
80
68
  - - "~>"
81
69
  - !ruby/object:Gem::Version
82
- version: '4.1'
70
+ version: '6.1'
83
71
  - !ruby/object:Gem::Dependency
84
72
  name: net-ssh-gateway
85
73
  requirement: !ruby/object:Gem::Requirement
@@ -100,88 +88,112 @@ dependencies:
100
88
  requirements:
101
89
  - - "~>"
102
90
  - !ruby/object:Gem::Version
103
- version: '1.14'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 1.14.6
91
+ version: '2.2'
107
92
  type: :development
108
93
  prerelease: false
109
94
  version_requirements: !ruby/object:Gem::Requirement
110
95
  requirements:
111
96
  - - "~>"
112
97
  - !ruby/object:Gem::Version
113
- version: '1.14'
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 1.14.6
98
+ version: '2.2'
117
99
  - !ruby/object:Gem::Dependency
118
100
  name: pry-byebug
119
101
  requirement: !ruby/object:Gem::Requirement
120
102
  requirements:
121
103
  - - "~>"
122
104
  - !ruby/object:Gem::Version
123
- version: '3.4'
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- version: 3.4.2
105
+ version: '3.9'
127
106
  type: :development
128
107
  prerelease: false
129
108
  version_requirements: !ruby/object:Gem::Requirement
130
109
  requirements:
131
110
  - - "~>"
132
111
  - !ruby/object:Gem::Version
133
- version: '3.4'
134
- - - ">="
135
- - !ruby/object:Gem::Version
136
- version: 3.4.2
112
+ version: '3.9'
137
113
  - !ruby/object:Gem::Dependency
138
114
  name: rake
139
115
  requirement: !ruby/object:Gem::Requirement
140
116
  requirements:
141
117
  - - "~>"
142
118
  - !ruby/object:Gem::Version
143
- version: '12.0'
119
+ version: '13.0'
144
120
  type: :development
145
121
  prerelease: false
146
122
  version_requirements: !ruby/object:Gem::Requirement
147
123
  requirements:
148
124
  - - "~>"
149
125
  - !ruby/object:Gem::Version
150
- version: '12.0'
126
+ version: '13.0'
151
127
  - !ruby/object:Gem::Dependency
152
128
  name: rspec
153
129
  requirement: !ruby/object:Gem::Requirement
154
130
  requirements:
155
131
  - - "~>"
156
132
  - !ruby/object:Gem::Version
157
- version: '3.6'
133
+ version: '3.10'
158
134
  type: :development
159
135
  prerelease: false
160
136
  version_requirements: !ruby/object:Gem::Requirement
161
137
  requirements:
162
138
  - - "~>"
163
139
  - !ruby/object:Gem::Version
164
- version: '3.6'
140
+ version: '3.10'
165
141
  - !ruby/object:Gem::Dependency
166
- name: simplecov
142
+ name: rubocop
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '1.6'
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: '1.6'
155
+ - !ruby/object:Gem::Dependency
156
+ name: rubocop-rake
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: '0.5'
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: '0.5'
169
+ - !ruby/object:Gem::Dependency
170
+ name: rubocop-rspec
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
173
174
  - !ruby/object:Gem::Version
174
- version: 0.14.1
175
+ version: '2.0'
175
176
  type: :development
176
177
  prerelease: false
177
178
  version_requirements: !ruby/object:Gem::Requirement
178
179
  requirements:
179
180
  - - "~>"
180
181
  - !ruby/object:Gem::Version
181
- version: '0.14'
182
- - - ">="
182
+ version: '2.0'
183
+ - !ruby/object:Gem::Dependency
184
+ name: simplecov
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '0.20'
190
+ type: :development
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
183
195
  - !ruby/object:Gem::Version
184
- version: 0.14.1
196
+ version: '0.20'
185
197
  description: Photocopier provides FTP/SSH adapters to abstract away file and directory
186
198
  copying.
187
199
  email:
@@ -192,12 +204,11 @@ executables: []
192
204
  extensions: []
193
205
  extra_rdoc_files: []
194
206
  files:
207
+ - ".github/workflows/ruby.yml"
195
208
  - ".gitignore"
196
209
  - ".rspec"
197
210
  - ".rubocop.yml"
198
- - ".ruby-gemset"
199
211
  - ".ruby-version"
200
- - ".travis.yml"
201
212
  - ".vscode/launch.json"
202
213
  - CHANGELOG.md
203
214
  - Gemfile
@@ -225,7 +236,7 @@ homepage: https://github.com/welaika/photocopier
225
236
  licenses:
226
237
  - MIT
227
238
  metadata: {}
228
- post_install_message:
239
+ post_install_message:
229
240
  rdoc_options: []
230
241
  require_paths:
231
242
  - lib
@@ -233,16 +244,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
233
244
  requirements:
234
245
  - - ">="
235
246
  - !ruby/object:Gem::Version
236
- version: 2.4.0
247
+ version: 2.6.0
237
248
  required_rubygems_version: !ruby/object:Gem::Requirement
238
249
  requirements:
239
- - - ">"
250
+ - - ">="
240
251
  - !ruby/object:Gem::Version
241
- version: 1.3.1
252
+ version: '0'
242
253
  requirements: []
243
- rubyforge_project:
244
- rubygems_version: 2.6.11
245
- signing_key:
254
+ rubygems_version: 3.0.1
255
+ signing_key:
246
256
  specification_version: 4
247
257
  summary: Photocopier provides FTP/SSH adapters to abstract away file and directory
248
258
  copying.
@@ -1 +0,0 @@
1
- photocopier
@@ -1,5 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.4.0
4
- - 2.4.3
5
- - 2.5.0