tcp-client 0.1.1 → 0.1.3

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: 0e45ec8c3b7922c52959609426b92075a00a183e109c0ebf81011faeb27d6fc1
4
- data.tar.gz: 0ac11baf6e4056548f4d720e578448975e21fccc743248d81253b63f52b51117
3
+ metadata.gz: bc62bca2078a00db24dc861aa876a6e2acac79dd1f2eb0cafbd29840d5169704
4
+ data.tar.gz: c784e00a152bcf7ac5c1246517483a39f55beb3f7591881be58a4edeb847097e
5
5
  SHA512:
6
- metadata.gz: 18bc160a8aaeda0656182c999d21d2fed955b24413a1293731cfc089e118f7489b5baaed71b66bf602f0cae6c0539cb894ad045f5552f2743c2ac6b883492824
7
- data.tar.gz: 2972220034105e5f35e066e81214f6a44324636ec2383861be62da63686b9c16a138e691f86760a8eaabf34e1826b3d59381f8dbdc468b1a92facd0d21028578
6
+ metadata.gz: 77ff9adf39b16aab0ca83cd77c01f688a77efd675c287095e5b67c1b52f89cf0528ddbc0a1c206330703cf430c4f457ddbdcb369f5a0a8f57a6c143ee5266f7e
7
+ data.tar.gz: 27df4b59116a68cf8232f471214e305d74f650b4e1be6cbd59302660f8d2998beef1fd7c382079311f9139c3465bda20981f3ff0993659f74807c00bb3942959
@@ -25,6 +25,19 @@ class TCPClient
25
25
  "#{@hostname}:#{@addrinfo.ip_port}"
26
26
  end
27
27
 
28
+ def to_h
29
+ {host: @hostname, port: @addrinfo.ip_port}
30
+ end
31
+
32
+ def ==(other)
33
+ to_h == other.to_h
34
+ end
35
+ alias eql? ==
36
+
37
+ def equal?(other)
38
+ self.class == other.class && self == other
39
+ end
40
+
28
41
  private
29
42
 
30
43
  def init_from_selfclass(address)
@@ -6,7 +6,7 @@ class TCPClient
6
6
  ret
7
7
  end
8
8
 
9
- attr_reader :buffered, :keep_alive, :reverse_lookup
9
+ attr_reader :buffered, :keep_alive, :reverse_lookup, :timeout
10
10
  attr_accessor :ssl_params
11
11
 
12
12
  def initialize(options = {})
@@ -66,6 +66,28 @@ class TCPClient
66
66
  @read_timeout = seconds(seconds)
67
67
  end
68
68
 
69
+ def to_h
70
+ {
71
+ buffered: @buffered,
72
+ keep_alive: @keep_alive,
73
+ reverse_lookup: @reverse_lookup,
74
+ timeout: @timeout,
75
+ connect_timeout: @connect_timeout,
76
+ read_timeout: @read_timeout,
77
+ write_timeout: @write_timeout,
78
+ ssl_params: @ssl_params
79
+ }
80
+ end
81
+
82
+ def ==(other)
83
+ to_h == other.to_h
84
+ end
85
+ alias eql? ==
86
+
87
+ def equal?(other)
88
+ self.class == other.class && self == other
89
+ end
90
+
69
91
  private
70
92
 
71
93
  def set(attribute, value)
@@ -75,7 +97,7 @@ class TCPClient
75
97
  end
76
98
 
77
99
  def seconds(value)
78
- value&.positive? ? value : nil
100
+ value&.to_f&.positive? ? value : nil
79
101
  end
80
102
  end
81
103
  end
@@ -1,3 +1,3 @@
1
1
  class TCPClient
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.1.3'.freeze
3
3
  end
data/rakefile.rb CHANGED
@@ -6,6 +6,8 @@ require 'bundler/gem_tasks'
6
6
 
7
7
  $stdout.sync = $stderr.sync = true
8
8
 
9
+ task(:default) { exec('rake --tasks') }
10
+
9
11
  CLOBBER << 'prj'
10
12
 
11
13
  Rake::TestTask.new(:test) do |t|
@@ -13,7 +15,3 @@ Rake::TestTask.new(:test) do |t|
13
15
  t.verbose = true
14
16
  t.test_files = FileList['test/**/*_test.rb']
15
17
  end
16
-
17
- task :default do
18
- exec("#{$PROGRAM_NAME} --tasks")
19
- end
@@ -54,4 +54,13 @@ class AddressTest < MiniTest::Test
54
54
  assert(subject.addrinfo.ip?)
55
55
  assert(subject.addrinfo.ipv6?)
56
56
  end
57
+
58
+ def test_compare
59
+ a = TCPClient::Address.new('localhost:42')
60
+ b = TCPClient::Address.new('localhost:42')
61
+ assert_equal(a, b)
62
+ assert(a == b)
63
+ assert(a === b)
64
+ end
65
+
57
66
  end
@@ -87,4 +87,12 @@ class ConfigurationTest < MiniTest::Test
87
87
  assert_same(42, subject.read_timeout)
88
88
  assert_same(42, subject.write_timeout)
89
89
  end
90
+
91
+ def test_compare
92
+ a = TCPClient::Configuration.new
93
+ b = TCPClient::Configuration.new
94
+ assert_equal(a, b)
95
+ assert(a == b)
96
+ assert(a === b)
97
+ end
90
98
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tcp-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Blumtritt