dat-tcp 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,82 @@
1
+ require 'dat-tcp/logger'
2
+
3
+ module DatTCP
4
+
5
+ class ServerSpy
6
+
7
+ attr_reader :ip, :port, :file_descriptor
8
+ attr_reader :client_file_descriptors
9
+ attr_reader :logger
10
+ attr_reader :waiting_for_pause, :waiting_for_stop, :waiting_for_halt
11
+ attr_accessor :listen_called, :start_called
12
+ attr_accessor :stop_listen_called, :pause_called
13
+ attr_accessor :stop_called, :halt_called
14
+
15
+ attr_accessor :serve_proc
16
+
17
+ def initialize
18
+ @ip = nil
19
+ @port = nil
20
+ @file_descriptor = nil
21
+ @client_file_descriptors = []
22
+ @logger = DatTCP::Logger::Null.new
23
+
24
+ @waiting_for_pause = nil
25
+ @waiting_for_stop = nil
26
+ @waiting_for_hale = nil
27
+
28
+ @listen_called = false
29
+ @stop_listen_called = false
30
+ @start_called = false
31
+ @pause_called = false
32
+ @stop_called = false
33
+ @halt_called = false
34
+
35
+ @serve_proc = proc{ }
36
+ end
37
+
38
+ def listening?
39
+ @listen_called && !@stop_listen_called
40
+ end
41
+
42
+ def running?
43
+ @start_called && !(@pause_called || @stop_called || @halt_called)
44
+ end
45
+
46
+ def listen(*args)
47
+ case args.size
48
+ when 2
49
+ @ip, @port = args
50
+ when 1
51
+ @file_descriptor = args.first
52
+ end
53
+ @listen_called = true
54
+ end
55
+
56
+ def stop_listen
57
+ @stop_listen_called = true
58
+ end
59
+
60
+ def start(client_file_descriptors = nil)
61
+ @client_file_descriptors = client_file_descriptors || []
62
+ @start_called = true
63
+ end
64
+
65
+ def pause(wait = false)
66
+ @waiting_for_pause = wait
67
+ @pause_called = true
68
+ end
69
+
70
+ def stop(wait = false)
71
+ @waiting_for_stop = wait
72
+ @stop_called = true
73
+ end
74
+
75
+ def halt(wait = false)
76
+ @waiting_for_halt = wait
77
+ @halt_called = true
78
+ end
79
+
80
+ end
81
+
82
+ end
@@ -1,3 +1,3 @@
1
1
  module DatTCP
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dat-tcp
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 0
10
- version: 0.5.0
9
+ - 1
10
+ version: 0.5.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Collin Redding
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2014-06-17 00:00:00 Z
19
+ date: 2014-06-27 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  requirement: &id001 !ruby/object:Gem::Requirement
@@ -64,6 +64,7 @@ files:
64
64
  - dat-tcp.gemspec
65
65
  - lib/dat-tcp.rb
66
66
  - lib/dat-tcp/logger.rb
67
+ - lib/dat-tcp/server_spy.rb
67
68
  - lib/dat-tcp/version.rb
68
69
  homepage: https://github.com/redding/dat-tcp
69
70
  licenses: