sshkit 1.23.1 → 1.24.0

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: 8af10c24f9ba9204b96596dbdebafc11e685870643ef910926f834d793758b57
4
- data.tar.gz: 862c58e68660bbb27206e478db3f1946fde1a3a6f5165413329b50b154208aed
3
+ metadata.gz: 931b99f3ed7bae2c98d4d6e5b48ad8f2261c4ccfca373d75fab75de03d49b656
4
+ data.tar.gz: '09096adfadec79a68a91477f5de116847d2a6baa6f36ea9faab13e41dae4fc66'
5
5
  SHA512:
6
- metadata.gz: 5d8b5501b9465a66d34f7b21833b4da59c41a2a27b10f895f530082fee9b93181a8cb95af8d05c14b76a4681870ef38627a90fb2d2f70b117c1ab3732636d4a4
7
- data.tar.gz: c68f53bf25284db54f8ff4becc67b74440196b12b89fc6b143d9a8fb2583ebfd0584ed936a30711634bf4bf38b85cdf33a1a69b41aa73712996e6d7bd36dc786
6
+ metadata.gz: 9cb179c93ff215fed59c2f2c38dca664886af6f8b39376f7f1ed72bfb9a675d6c6a7616b519c165a83cd8e9356f15301e7a656b0045ab65f6faaf971176a8748
7
+ data.tar.gz: 22c231cdb7622ba13ceac3c6def0178dee92b2d3e75b71038f3e5415e9e2d5bf0c2e7f1dd48005b7a2fdcf65d8787ea83788a5531d781b8e76314b3f7d596a86
@@ -8,34 +8,7 @@ jobs:
8
8
  runs-on: ubuntu-latest
9
9
  strategy:
10
10
  matrix:
11
- ruby:
12
- [
13
- "2.3",
14
- "2.4",
15
- "2.5",
16
- "2.6",
17
- "2.7",
18
- "3.0",
19
- "3.1",
20
- "3.2",
21
- "3.3",
22
- "head",
23
- ]
24
- steps:
25
- - uses: actions/checkout@v4
26
- - name: Set up Ruby
27
- uses: ruby/setup-ruby@v1
28
- with:
29
- ruby-version: ${{ matrix.ruby }}
30
- bundler-cache: true
31
- - name: Run tests
32
- run: bundle exec rake test:units
33
-
34
- test-legacy:
35
- runs-on: ubuntu-20.04
36
- strategy:
37
- matrix:
38
- ruby: ["2.0", "2.1", "2.2"]
11
+ ruby: ["2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "head"]
39
12
  steps:
40
13
  - uses: actions/checkout@v4
41
14
  - name: Set up Ruby
@@ -45,10 +18,12 @@ jobs:
45
18
  bundler-cache: true
46
19
  - name: Run tests
47
20
  run: bundle exec rake test:units
21
+ env:
22
+ RUBYOPT: ${{ startsWith(matrix.ruby, 'head') && '--enable=frozen-string-literal' || '' }}
48
23
 
49
24
  test-all:
50
25
  runs-on: ubuntu-latest
51
- needs: [test, test-legacy]
26
+ needs: test
52
27
  if: always()
53
28
  steps:
54
29
  - name: All tests ok
@@ -74,7 +49,7 @@ jobs:
74
49
  runs-on: ubuntu-latest
75
50
  strategy:
76
51
  matrix:
77
- ruby: ["2.0", "ruby"]
52
+ ruby: ["2.5", "ruby"]
78
53
  steps:
79
54
  - uses: actions/checkout@v4
80
55
  - name: Set up Ruby
@@ -7,6 +7,6 @@ jobs:
7
7
  steps:
8
8
  - uses: actions/checkout@master
9
9
  - name: Draft Release
10
- uses: toolmantim/release-drafter@v6.0.0
10
+ uses: toolmantim/release-drafter@v6.1.0
11
11
  env:
12
12
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
data/.rubocop.yml CHANGED
@@ -3,7 +3,7 @@ inherit_from: .rubocop_todo.yml
3
3
  AllCops:
4
4
  DisplayCopNames: true
5
5
  DisplayStyleGuide: true
6
- TargetRubyVersion: 2.0
6
+ TargetRubyVersion: 2.5
7
7
 
8
8
  Lint/AmbiguousBlockAssociation:
9
9
  Enabled: false
@@ -18,12 +18,12 @@ Style/ClassAndModuleChildren:
18
18
  Enabled: false
19
19
  Style/DoubleNegation:
20
20
  Enabled: false
21
- Style/FileName:
21
+ Naming/FileName:
22
22
  Exclude:
23
23
  - "Dangerfile"
24
- Style/IndentHeredoc:
24
+ Layout/IndentHeredoc:
25
25
  Enabled: false
26
- Style/SpaceAroundEqualsInParameterDefault:
26
+ Layout/SpaceAroundEqualsInParameterDefault:
27
27
  EnforcedStyle: no_space
28
28
  Style/StringLiterals:
29
29
  EnforcedStyle: double_quotes
@@ -47,7 +47,7 @@ Metrics/CyclomaticComplexity:
47
47
  Enabled: false
48
48
  Metrics/MethodLength:
49
49
  Enabled: false
50
- Style/PredicateName:
50
+ Naming/PredicateName:
51
51
  Enabled: false
52
52
  Metrics/LineLength:
53
53
  Enabled: false
@@ -59,5 +59,5 @@ Metrics/ClassLength:
59
59
  Enabled: false
60
60
  Metrics/ModuleLength:
61
61
  Enabled: false
62
- Style/AccessorMethodName:
62
+ Naming/AccessorMethodName:
63
63
  Enabled: false
data/.rubocop_todo.yml CHANGED
@@ -439,7 +439,7 @@ Style/MethodDefParentheses:
439
439
  # Offense count: 3
440
440
  # Configuration parameters: SupportedStyles.
441
441
  # SupportedStyles: snake_case, camelCase
442
- Style/MethodName:
442
+ Naming/MethodName:
443
443
  EnforcedStyle: snake_case
444
444
  Exclude:
445
445
  - 'test/unit/test_color.rb'
@@ -460,7 +460,7 @@ Style/NumericPredicate:
460
460
  - 'lib/sshkit/command.rb'
461
461
 
462
462
  # Offense count: 1
463
- Style/OpMethod:
463
+ Naming/BinaryOperatorParameterName:
464
464
  Exclude:
465
465
  - 'lib/sshkit/host.rb'
466
466
 
@@ -611,7 +611,7 @@ Style/UnneededPercentQ:
611
611
  # Offense count: 1
612
612
  # Configuration parameters: EnforcedStyle, SupportedStyles.
613
613
  # SupportedStyles: snake_case, normalcase, non_integer
614
- Style/VariableNumber:
614
+ Naming/VariableNumber:
615
615
  Exclude:
616
616
  - 'test/unit/backends/test_connection_pool.rb'
617
617
 
data/Gemfile CHANGED
@@ -1,8 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
-
5
- # public_suffix 3+ requires ruby 2.1+
6
- if Gem::Requirement.new('< 2.1').satisfied_by?(Gem::Version.new(RUBY_VERSION))
7
- gem 'public_suffix', '< 3'
8
- end
data/RELEASING.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  * You must have commit rights to the SSHKit repository.
6
6
  * You must have push rights for the sshkit gem on rubygems.org.
7
- * You must be using Ruby >= 2.1.0.
7
+ * You must be using Ruby >= 2.5.0.
8
8
 
9
9
  ## How to release
10
10
 
@@ -135,8 +135,7 @@ module SSHKit
135
135
  # Backends which extend the Abstract backend should implement the following methods:
136
136
  def upload!(_local, _remote, _options = {}) raise MethodUnavailableError end
137
137
  def download!(_remote, _local=nil, _options = {}) raise MethodUnavailableError end
138
- def execute_command(_cmd) raise MethodUnavailableError end
139
- private :execute_command # Can inline after Ruby 2.1
138
+ private def execute_command(_cmd) raise MethodUnavailableError end
140
139
 
141
140
  private
142
141
 
@@ -1,5 +1,4 @@
1
1
  require "monitor"
2
- require "thread"
3
2
 
4
3
  # Since we call to_s on new connection arguments and use that as a cache key, we
5
4
  # need to make sure the memory address of the object is not used as part of the
data/lib/sshkit/color.rb CHANGED
@@ -44,8 +44,8 @@ module SSHKit
44
44
  return string unless COLOR_CODES.key?(color)
45
45
 
46
46
  result = mode == :bold ? "\e[1;" : "\e[0;"
47
- result << COLOR_CODES.fetch(color).to_s
48
- result << ";49m#{string}\e[0m"
47
+
48
+ "#{result}#{COLOR_CODES.fetch(color)};49m#{string}\e[0m"
49
49
  end
50
50
 
51
51
  # Returns `true` if the underlying output is a tty, or if the SSHKIT_COLOR
@@ -1,5 +1,3 @@
1
- require 'thread'
2
-
3
1
  module SSHKit
4
2
 
5
3
  module Runner
@@ -1,3 +1,3 @@
1
1
  module SSHKit
2
- VERSION = "1.23.1".freeze
2
+ VERSION = "1.24.0".freeze
3
3
  end
data/sshkit.gemspec CHANGED
@@ -19,19 +19,20 @@ Gem::Specification.new do |gem|
19
19
  gem.name = "sshkit"
20
20
  gem.require_paths = ["lib"]
21
21
  gem.version = SSHKit::VERSION
22
+ gem.required_ruby_version = ">= 2.5"
22
23
 
23
- gem.add_runtime_dependency('base64') if RUBY_VERSION >= "2.4"
24
+ gem.add_runtime_dependency('base64')
25
+ gem.add_runtime_dependency('logger')
24
26
  gem.add_runtime_dependency('net-ssh', '>= 2.8.0')
25
27
  gem.add_runtime_dependency('net-scp', '>= 1.1.2')
26
28
  gem.add_runtime_dependency('net-sftp', '>= 2.1.2')
27
- gem.add_runtime_dependency('ostruct') if RUBY_VERSION >= "2.5"
29
+ gem.add_runtime_dependency('ostruct')
28
30
 
29
31
  gem.add_development_dependency('danger')
30
32
  gem.add_development_dependency('minitest', '>= 5.0.0')
31
33
  gem.add_development_dependency('minitest-reporters')
32
- gem.add_development_dependency('rainbow', '~> 2.2.2')
33
34
  gem.add_development_dependency('rake')
34
- gem.add_development_dependency('rubocop', "~> 0.49.1")
35
+ gem.add_development_dependency('rubocop', "~> 0.52.0")
35
36
  gem.add_development_dependency('mocha')
36
37
 
37
38
  gem.add_development_dependency('bcrypt_pbkdf')
@@ -131,7 +131,7 @@ module SSHKit
131
131
 
132
132
  def test_test_does_not_raise_on_non_zero_exit_status
133
133
  Netssh.new(a_host) do |_host|
134
- test :false
134
+ test :false # rubocop:disable Lint/BooleanSymbol
135
135
  end.run
136
136
  end
137
137
 
@@ -151,7 +151,7 @@ module SSHKit
151
151
  # ensure we enable connection pool
152
152
  SSHKit::Backend::Netssh.pool.idle_timeout = 10
153
153
  Netssh.new(a_host) do |_host|
154
- test :false
154
+ test :false # rubocop:disable Lint/BooleanSymbol
155
155
  end.run
156
156
  sleep 2.5
157
157
  captured_command_result = nil
@@ -112,7 +112,7 @@ module SSHKit
112
112
  end
113
113
 
114
114
  def test_background_logs_deprecation_warnings
115
- deprecation_out = ''
115
+ deprecation_out = +''
116
116
  SSHKit.config.deprecation_output = deprecation_out
117
117
 
118
118
  ExampleBackend.new do
@@ -211,7 +211,8 @@ module SSHKit
211
211
  end
212
212
 
213
213
  def test_deprecated_stdtream_accessors
214
- deprecation_out = ''
214
+ deprecation_out = +''
215
+
215
216
  SSHKit.config.deprecation_output = deprecation_out
216
217
 
217
218
  c = Command.new(:whoami)
@@ -11,7 +11,8 @@ module SSHKit
11
11
  end
12
12
 
13
13
  def test_deprecation_output
14
- output = ''
14
+ output = +''
15
+
15
16
  SSHKit.config.deprecation_output = output
16
17
  SSHKit.config.deprecation_logger.log('Test')
17
18
  assert_equal "[Deprecated] Test\n", output.lines.first
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sshkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.23.1
4
+ version: 1.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lee Hambley
8
8
  - Tom Clements
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2024-09-05 00:00:00.000000000 Z
11
+ date: 2025-02-09 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: base64
@@ -25,6 +24,20 @@ dependencies:
25
24
  - - ">="
26
25
  - !ruby/object:Gem::Version
27
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: logger
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
28
41
  - !ruby/object:Gem::Dependency
29
42
  name: net-ssh
30
43
  requirement: !ruby/object:Gem::Requirement
@@ -123,20 +136,6 @@ dependencies:
123
136
  - - ">="
124
137
  - !ruby/object:Gem::Version
125
138
  version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: rainbow
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - "~>"
131
- - !ruby/object:Gem::Version
132
- version: 2.2.2
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - "~>"
138
- - !ruby/object:Gem::Version
139
- version: 2.2.2
140
139
  - !ruby/object:Gem::Dependency
141
140
  name: rake
142
141
  requirement: !ruby/object:Gem::Requirement
@@ -157,14 +156,14 @@ dependencies:
157
156
  requirements:
158
157
  - - "~>"
159
158
  - !ruby/object:Gem::Version
160
- version: 0.49.1
159
+ version: 0.52.0
161
160
  type: :development
162
161
  prerelease: false
163
162
  version_requirements: !ruby/object:Gem::Requirement
164
163
  requirements:
165
164
  - - "~>"
166
165
  - !ruby/object:Gem::Version
167
- version: 0.49.1
166
+ version: 0.52.0
168
167
  - !ruby/object:Gem::Dependency
169
168
  name: mocha
170
169
  requirement: !ruby/object:Gem::Requirement
@@ -323,7 +322,6 @@ licenses:
323
322
  - MIT
324
323
  metadata:
325
324
  changelog_uri: https://github.com/capistrano/sshkit/releases
326
- post_install_message:
327
325
  rdoc_options: []
328
326
  require_paths:
329
327
  - lib
@@ -331,15 +329,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
331
329
  requirements:
332
330
  - - ">="
333
331
  - !ruby/object:Gem::Version
334
- version: '0'
332
+ version: '2.5'
335
333
  required_rubygems_version: !ruby/object:Gem::Requirement
336
334
  requirements:
337
335
  - - ">="
338
336
  - !ruby/object:Gem::Version
339
337
  version: '0'
340
338
  requirements: []
341
- rubygems_version: 3.5.16
342
- signing_key:
339
+ rubygems_version: 3.6.3
343
340
  specification_version: 4
344
341
  summary: SSHKit makes it easy to write structured, testable SSH commands in Ruby
345
342
  test_files: