tcp-client 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: bb5546419b47d6680b576f39d8c4b382c39d74f07ca43f6e782160122b6ba524
4
- data.tar.gz: 3e563cd2db3efc765e491ece2fc37a784cb55ef05f6390eb23d1322a926be49e
3
+ metadata.gz: 0e45ec8c3b7922c52959609426b92075a00a183e109c0ebf81011faeb27d6fc1
4
+ data.tar.gz: 0ac11baf6e4056548f4d720e578448975e21fccc743248d81253b63f52b51117
5
5
  SHA512:
6
- metadata.gz: 712f24a4dc3427cf37126681ba50d53f0aefc9f839920283f611ef22e923f65f53f09fc83ca66cb45930536ca3c13d630dc7b0c5a5f40c6fc6f91f82bf123c3c
7
- data.tar.gz: e97e52fc2aa1ad3cc548d2f561df97678e00c0e7e617c08afdbb9c6537709fc2743a07f26679cc8007124348cb32f1e8481d6417b7d3e28d247b504fcc951805
6
+ metadata.gz: 18bc160a8aaeda0656182c999d21d2fed955b24413a1293731cfc089e118f7489b5baaed71b66bf602f0cae6c0539cb894ad045f5552f2743c2ac6b883492824
7
+ data.tar.gz: 2972220034105e5f35e066e81214f6a44324636ec2383861be62da63686b9c16a138e691f86760a8eaabf34e1826b3d59381f8dbdc468b1a92facd0d21028578
@@ -44,7 +44,7 @@ class TCPClient
44
44
  end
45
45
 
46
46
  def from_string(str)
47
- return nil, str.to_i unless idx = str.rindex(':')
47
+ idx = str.rindex(':') or return nil, str.to_i
48
48
  name = str[0, idx]
49
49
  name = name[1, name.size - 2] if name[0] == '[' && name[-1] == ']'
50
50
  [name, str[idx + 1, str.size - idx].to_i]
@@ -19,22 +19,22 @@ class TCPClient
19
19
  @ssl_params ? true : false
20
20
  end
21
21
 
22
- def ssl=(yn)
23
- return @ssl_params = nil unless yn
24
- return @ssl_params = yn if Hash === yn
22
+ def ssl=(value)
23
+ return @ssl_params = nil unless value
24
+ return @ssl_params = value.dup if Hash === value
25
25
  @ssl_params ||= {}
26
26
  end
27
27
 
28
- def buffered=(yn)
29
- @buffered = yn ? true : false
28
+ def buffered=(value)
29
+ @buffered = value ? true : false
30
30
  end
31
31
 
32
- def keep_alive=(yn)
33
- @keep_alive = yn ? true : false
32
+ def keep_alive=(value)
33
+ @keep_alive = value ? true : false
34
34
  end
35
35
 
36
- def reverse_lookup=(yn)
37
- @reverse_lookup = yn ? true : false
36
+ def reverse_lookup=(value)
37
+ @reverse_lookup = value ? true : false
38
38
  end
39
39
 
40
40
  def timeout=(seconds)
@@ -59,9 +59,7 @@ module IOTimeoutMixin
59
59
  end
60
60
 
61
61
  module DeadlineMethods
62
- private
63
-
64
- def with_deadline(deadline, exclass)
62
+ private def with_deadline(deadline, exclass)
65
63
  loop do
66
64
  case ret = yield
67
65
  when :wait_writable
@@ -78,9 +76,7 @@ module IOTimeoutMixin
78
76
  end
79
77
 
80
78
  module DeadlineIO
81
- private
82
-
83
- def with_deadline(deadline, exclass)
79
+ private def with_deadline(deadline, exclass)
84
80
  loop do
85
81
  case ret = yield
86
82
  when :wait_writable
@@ -1,3 +1,3 @@
1
1
  class TCPClient
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.1.1'.freeze
3
3
  end
data/rakefile.rb CHANGED
@@ -4,7 +4,7 @@ require 'rake/clean'
4
4
  require 'rake/testtask'
5
5
  require 'bundler/gem_tasks'
6
6
 
7
- STDOUT.sync = STDERR.sync = true
7
+ $stdout.sync = $stderr.sync = true
8
8
 
9
9
  CLOBBER << 'prj'
10
10
 
data/tcp-client.gemspec CHANGED
@@ -5,6 +5,10 @@ require_relative './lib/tcp-client/version'
5
5
  GemSpec = Gem::Specification.new do |spec|
6
6
  spec.name = 'tcp-client'
7
7
  spec.version = TCPClient::VERSION
8
+ spec.author = 'Mike Blumtritt'
9
+
10
+ spec.required_ruby_version = '>= 2.7.0'
11
+
8
12
  spec.summary = 'A TCP client implementation with working timeout support.'
9
13
  spec.description = <<~DESCRIPTION
10
14
  This gem implements a TCP client with (optional) SSL support. The
@@ -13,27 +17,17 @@ GemSpec = Gem::Specification.new do |spec|
13
17
  other implementations this client respects given/configurable time
14
18
  limits for each method (`connect`, `read`, `write`).
15
19
  DESCRIPTION
16
- spec.author = 'Mike Blumtritt'
17
- spec.email = 'mike.blumtritt@pm.me'
18
20
  spec.homepage = 'https://github.com/mblumtritt/tcp-client'
19
- spec.metadata = {
20
- 'source_code_uri' => 'https://github.com/mblumtritt/tcp-client',
21
- 'bug_tracker_uri' => 'https://github.com/mblumtritt/tcp-client/issues'
22
- }
23
- spec.rubyforge_project = spec.name
21
+
22
+ spec.metadata['source_code_uri'] = 'https://github.com/mblumtritt/tcp-client'
23
+ spec.metadata['bug_tracker_uri'] = 'https://github.com/mblumtritt/tcp-client/issues'
24
24
 
25
25
  spec.add_development_dependency 'bundler'
26
26
  spec.add_development_dependency 'minitest'
27
27
  spec.add_development_dependency 'rake'
28
28
 
29
- spec.platform = Gem::Platform::RUBY
30
- spec.required_ruby_version = '>= 2.5.0'
31
- spec.required_rubygems_version = Gem::Requirement.new('>= 1.3.6')
32
-
33
- spec.require_paths = %w[lib]
34
-
35
- all_files = %x(git ls-files -z).split(0.chr)
36
- spec.test_files = all_files.grep(%r{^(spec|test)/})
29
+ all_files = Dir.chdir(__dir__) { `git ls-files -z`.split(0.chr) }
30
+ spec.test_files = all_files.grep(%r{^test/})
37
31
  spec.files = all_files - spec.test_files
38
32
 
39
33
  spec.extra_rdoc_files = %w[README.md]
@@ -22,9 +22,9 @@ class TCPClientTest < MiniTest::Test
22
22
  def create_nonconnected_client
23
23
  client = TCPClient.new
24
24
  client.connect('', config)
25
+ client
25
26
  rescue Errno::EADDRNOTAVAIL
26
- ensure
27
- return client
27
+ client
28
28
  end
29
29
 
30
30
  def test_failed_state
@@ -41,7 +41,7 @@ class TCPClientTest < MiniTest::Test
41
41
  end
42
42
 
43
43
  def test_connected_state
44
- TCPClient.open('localhost:1234') do |subject|
44
+ TCPClient.open('localhost:1234', config) do |subject|
45
45
  refute(subject.closed?)
46
46
  assert_equal('localhost:1234', subject.to_s)
47
47
  refute_nil(subject.address)
data/test/test_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'minitest/autorun'
2
4
  require 'minitest/parallel'
3
5
  require_relative '../lib/tcp-client'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tcp-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Blumtritt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-11 00:00:00.000000000 Z
11
+ date: 2021-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,7 +58,7 @@ description: |
58
58
  easy to use client which can handle time limits correctly. Unlike
59
59
  other implementations this client respects given/configurable time
60
60
  limits for each method (`connect`, `read`, `write`).
61
- email: mike.blumtritt@pm.me
61
+ email:
62
62
  executables: []
63
63
  extensions: []
64
64
  extra_rdoc_files:
@@ -99,12 +99,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - ">="
101
101
  - !ruby/object:Gem::Version
102
- version: 2.5.0
102
+ version: 2.7.0
103
103
  required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  requirements:
105
105
  - - ">="
106
106
  - !ruby/object:Gem::Version
107
- version: 1.3.6
107
+ version: '0'
108
108
  requirements: []
109
109
  rubygems_version: 3.2.9
110
110
  signing_key: