tcp-client 0.1.1 → 0.1.3

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: 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