bane 0.1.1 → 1.0.0
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 +7 -0
- data/HISTORY.md +49 -0
- data/LICENSE +1 -1
- data/README.md +41 -31
- data/TODO +15 -10
- data/bin/bane +8 -11
- data/lib/bane/arguments_parser.rb +75 -0
- data/lib/bane/behavior_maker.rb +41 -0
- data/lib/bane/behaviors/responders/close_after_pause.rb +23 -0
- data/lib/bane/behaviors/responders/close_immediately.rb +16 -0
- data/lib/bane/behaviors/responders/deluge_response.rb +29 -0
- data/lib/bane/behaviors/responders/echo_response.rb +18 -0
- data/lib/bane/behaviors/responders/exported.rb +11 -0
- data/lib/bane/behaviors/responders/fixed_response.rb +27 -0
- data/lib/bane/behaviors/responders/for_each_line.rb +20 -0
- data/lib/bane/behaviors/responders/http_refuse_all_credentials.rb +33 -0
- data/lib/bane/behaviors/responders/never_respond.rb +29 -0
- data/lib/bane/behaviors/responders/newline_response.rb +20 -0
- data/lib/bane/behaviors/responders/random_response.rb +26 -0
- data/lib/bane/behaviors/responders/slow_response.rb +34 -0
- data/lib/bane/behaviors/servers/exported.rb +20 -0
- data/lib/bane/behaviors/servers/responder_server.rb +52 -0
- data/lib/bane/behaviors/servers/timeout_in_listen_queue.rb +53 -0
- data/lib/bane/command_line_configuration.rb +41 -0
- data/lib/bane/extensions.rb +9 -0
- data/lib/bane/launcher.rb +9 -8
- data/lib/bane/naive_http_response.rb +2 -0
- data/lib/bane/version.rb +5 -0
- data/lib/bane.rb +21 -6
- metadata +104 -102
- data/Rakefile +0 -60
- data/examples/simple_port_and_class_as_constant.rb +0 -9
- data/examples/simple_port_and_class_as_string.rb +0 -7
- data/examples/specify_behavior_options.rb +0 -16
- data/examples/specify_ports.rb +0 -15
- data/lib/bane/behaviors.rb +0 -151
- data/lib/bane/compatibility.rb +0 -36
- data/lib/bane/configuration.rb +0 -50
- data/lib/bane/configuration_parser.rb +0 -74
- data/lib/bane/delegating_gserver.rb +0 -42
- data/lib/bane/service_registry.rb +0 -17
- data/test/bane/behaviors_test.rb +0 -137
- data/test/bane/configuration_parser_test.rb +0 -124
- data/test/bane/configuration_test.rb +0 -52
- data/test/bane/delegating_gserver_test.rb +0 -56
- data/test/bane/integration_test.rb +0 -67
- data/test/bane/launcher_test.rb +0 -16
- data/test/bane/naive_http_response_test.rb +0 -69
- data/test/bane/service_registry_test.rb +0 -20
- data/test/test_helper.rb +0 -9
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Bane
|
4
|
+
module Behaviors
|
5
|
+
module Servers
|
6
|
+
|
7
|
+
EXPORTED = [TimeoutInListenQueue]
|
8
|
+
|
9
|
+
# Listen only on localhost
|
10
|
+
LOCALHOST = '127.0.0.1'
|
11
|
+
|
12
|
+
# Deprecated - use LOCALHOST - Listen only on localhost
|
13
|
+
DEFAULT_HOST = LOCALHOST
|
14
|
+
|
15
|
+
# Listen on all interfaces
|
16
|
+
ALL_INTERFACES = '0.0.0.0'
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'gserver'
|
4
|
+
|
5
|
+
module Bane
|
6
|
+
module Behaviors
|
7
|
+
module Servers
|
8
|
+
|
9
|
+
class ResponderServer < GServer
|
10
|
+
|
11
|
+
def initialize(port, behavior, host = Servers::LOCALHOST)
|
12
|
+
super(port, host)
|
13
|
+
@behavior = behavior
|
14
|
+
self.audit = true
|
15
|
+
end
|
16
|
+
|
17
|
+
def serve(io)
|
18
|
+
@behavior.serve(io)
|
19
|
+
end
|
20
|
+
|
21
|
+
def to_s
|
22
|
+
"<Bane::BehaviorServer: port=#{@port}, behavior=#{@behavior.class}>"
|
23
|
+
end
|
24
|
+
|
25
|
+
protected
|
26
|
+
|
27
|
+
alias_method :original_log, :log
|
28
|
+
|
29
|
+
def log(message)
|
30
|
+
original_log("#{@behavior.class.unqualified_name} #{@host}:#{@port} #{message}")
|
31
|
+
end
|
32
|
+
|
33
|
+
def connecting(client)
|
34
|
+
addr = client.peeraddr
|
35
|
+
log("client:#{addr[1]} #{addr[2]}<#{addr[3]}> connect")
|
36
|
+
end
|
37
|
+
|
38
|
+
def disconnecting(client_port)
|
39
|
+
log("client:#{client_port} disconnect")
|
40
|
+
end
|
41
|
+
|
42
|
+
def starting
|
43
|
+
log('start')
|
44
|
+
end
|
45
|
+
|
46
|
+
def stopping
|
47
|
+
log('stop')
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'socket'
|
4
|
+
|
5
|
+
module Bane
|
6
|
+
module Behaviors
|
7
|
+
module Servers
|
8
|
+
|
9
|
+
class TimeoutInListenQueue
|
10
|
+
|
11
|
+
def initialize(port, host = Servers::LOCALHOST)
|
12
|
+
@port = port
|
13
|
+
@host = host
|
14
|
+
self.stdlog= $stderr
|
15
|
+
end
|
16
|
+
|
17
|
+
def start
|
18
|
+
@server = Socket.new(:INET, :STREAM)
|
19
|
+
address = Socket.sockaddr_in(port, host)
|
20
|
+
@server.bind(address) # Note that we never call listen
|
21
|
+
|
22
|
+
log 'started'
|
23
|
+
end
|
24
|
+
|
25
|
+
def join
|
26
|
+
sleep
|
27
|
+
end
|
28
|
+
|
29
|
+
def stop
|
30
|
+
@server.close
|
31
|
+
log 'stopped'
|
32
|
+
end
|
33
|
+
|
34
|
+
def stdlog=(logger)
|
35
|
+
@logger = logger
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.make(port, host)
|
39
|
+
new(port, host)
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
attr_reader :host, :port, :logger
|
45
|
+
|
46
|
+
def log(message)
|
47
|
+
logger.puts "[#{Time.new.ctime}] #{self.class.unqualified_name} #{host}:#{port} #{message}"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Bane
|
4
|
+
|
5
|
+
def self.find_makeables
|
6
|
+
Hash[Bane::Behaviors::Responders::EXPORTED.map { |responder| [responder.unqualified_name, ResponderMaker.new(responder)] }]
|
7
|
+
.merge(Hash[Bane::Behaviors::Servers::EXPORTED.map { |server| [server.unqualified_name, server] }])
|
8
|
+
end
|
9
|
+
|
10
|
+
class CommandLineConfiguration
|
11
|
+
|
12
|
+
def initialize(makeables)
|
13
|
+
@behavior_maker = BehaviorMaker.new(makeables)
|
14
|
+
@arguments_parser = ArgumentsParser.new(makeables.keys)
|
15
|
+
end
|
16
|
+
|
17
|
+
def process(args, &error_policy)
|
18
|
+
arguments = @arguments_parser.parse(args)
|
19
|
+
create(arguments.behaviors, arguments.port, arguments.host)
|
20
|
+
rescue ConfigurationError => ce
|
21
|
+
error_policy.call([ce.message, @arguments_parser.usage].join("\n"))
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def create(behaviors, port, host)
|
27
|
+
if behaviors.any?
|
28
|
+
@behavior_maker.create(behaviors, port, host)
|
29
|
+
else
|
30
|
+
@behavior_maker.create_all(port, host)
|
31
|
+
end
|
32
|
+
rescue UnknownBehaviorError => ube
|
33
|
+
raise ConfigurationError, ube.message
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
class ConfigurationError < RuntimeError;
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
data/lib/bane/launcher.rb
CHANGED
@@ -1,25 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Bane
|
2
4
|
|
3
5
|
class Launcher
|
4
6
|
|
5
|
-
def initialize(
|
6
|
-
@
|
7
|
-
@
|
8
|
-
@running_servers = []
|
7
|
+
def initialize(servers, logger = $stderr)
|
8
|
+
@servers = servers
|
9
|
+
@servers.each { |server| server.stdlog = logger }
|
9
10
|
end
|
10
11
|
|
11
12
|
def start
|
12
|
-
@
|
13
|
+
@servers.each { |server| server.start }
|
13
14
|
end
|
14
15
|
|
15
16
|
def join
|
16
|
-
@
|
17
|
+
@servers.each { |server| server.join }
|
17
18
|
end
|
18
19
|
|
19
20
|
def stop
|
20
|
-
@
|
21
|
+
@servers.each { |server| server.stop }
|
21
22
|
end
|
22
23
|
|
23
24
|
end
|
24
|
-
|
25
|
+
|
25
26
|
end
|
data/lib/bane/version.rb
ADDED
data/lib/bane.rb
CHANGED
@@ -1,8 +1,23 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'bane/
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bane/extensions'
|
4
|
+
require 'bane/behavior_maker'
|
5
|
+
require 'bane/behaviors/responders/for_each_line'
|
6
|
+
require 'bane/behaviors/responders/close_after_pause'
|
7
|
+
require 'bane/behaviors/responders/close_immediately'
|
8
|
+
require 'bane/behaviors/responders/deluge_response'
|
9
|
+
require 'bane/behaviors/responders/echo_response'
|
10
|
+
require 'bane/behaviors/responders/fixed_response'
|
11
|
+
require 'bane/behaviors/responders/http_refuse_all_credentials'
|
12
|
+
require 'bane/behaviors/responders/never_respond'
|
13
|
+
require 'bane/behaviors/responders/newline_response'
|
14
|
+
require 'bane/behaviors/responders/random_response'
|
15
|
+
require 'bane/behaviors/responders/slow_response'
|
16
|
+
require 'bane/behaviors/responders/exported'
|
17
|
+
require 'bane/behaviors/servers/responder_server'
|
18
|
+
require 'bane/behaviors/servers/timeout_in_listen_queue'
|
19
|
+
require 'bane/behaviors/servers/exported'
|
4
20
|
require 'bane/launcher'
|
5
|
-
require 'bane/
|
6
|
-
require 'bane/
|
7
|
-
require 'bane/configuration_parser'
|
21
|
+
require 'bane/arguments_parser'
|
22
|
+
require 'bane/command_line_configuration'
|
8
23
|
require 'bane/naive_http_response'
|
metadata
CHANGED
@@ -1,122 +1,124 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: bane
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: false
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 1
|
10
|
-
version: 0.1.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Daniel Wellman
|
14
|
-
|
8
|
+
- Joe Leo
|
9
|
+
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
12
|
+
date: 2022-01-23 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '13.0'
|
21
|
+
type: :development
|
23
22
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '13.0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rdoc
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '6.3'
|
35
35
|
type: :development
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '6.3'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: gserver
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 0.0.1
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 0.0.1
|
56
|
+
description: |
|
57
|
+
Bane is a test harness used to test your application's interaction with
|
58
|
+
other servers. It is based upon the material from Michael Nygard's "Release
|
59
|
+
It!" book as described in the "Test Harness" chapter.
|
60
|
+
email:
|
61
|
+
- dan@danielwellman.com
|
62
|
+
executables:
|
40
63
|
- bane
|
41
64
|
extensions: []
|
42
|
-
|
43
|
-
|
65
|
+
extra_rdoc_files:
|
66
|
+
- LICENSE
|
67
|
+
- README.md
|
68
|
+
- TODO
|
69
|
+
files:
|
70
|
+
- HISTORY.md
|
44
71
|
- LICENSE
|
45
72
|
- README.md
|
46
73
|
- TODO
|
47
|
-
files:
|
48
|
-
- Rakefile
|
49
74
|
- bin/bane
|
50
|
-
- examples/simple_port_and_class_as_constant.rb
|
51
|
-
- examples/simple_port_and_class_as_string.rb
|
52
|
-
- examples/specify_behavior_options.rb
|
53
|
-
- examples/specify_ports.rb
|
54
75
|
- lib/bane.rb
|
55
|
-
- lib/bane/
|
56
|
-
- lib/bane/
|
57
|
-
- lib/bane/
|
58
|
-
- lib/bane/
|
59
|
-
- lib/bane/
|
76
|
+
- lib/bane/arguments_parser.rb
|
77
|
+
- lib/bane/behavior_maker.rb
|
78
|
+
- lib/bane/behaviors/responders/close_after_pause.rb
|
79
|
+
- lib/bane/behaviors/responders/close_immediately.rb
|
80
|
+
- lib/bane/behaviors/responders/deluge_response.rb
|
81
|
+
- lib/bane/behaviors/responders/echo_response.rb
|
82
|
+
- lib/bane/behaviors/responders/exported.rb
|
83
|
+
- lib/bane/behaviors/responders/fixed_response.rb
|
84
|
+
- lib/bane/behaviors/responders/for_each_line.rb
|
85
|
+
- lib/bane/behaviors/responders/http_refuse_all_credentials.rb
|
86
|
+
- lib/bane/behaviors/responders/never_respond.rb
|
87
|
+
- lib/bane/behaviors/responders/newline_response.rb
|
88
|
+
- lib/bane/behaviors/responders/random_response.rb
|
89
|
+
- lib/bane/behaviors/responders/slow_response.rb
|
90
|
+
- lib/bane/behaviors/servers/exported.rb
|
91
|
+
- lib/bane/behaviors/servers/responder_server.rb
|
92
|
+
- lib/bane/behaviors/servers/timeout_in_listen_queue.rb
|
93
|
+
- lib/bane/command_line_configuration.rb
|
94
|
+
- lib/bane/extensions.rb
|
60
95
|
- lib/bane/launcher.rb
|
61
96
|
- lib/bane/naive_http_response.rb
|
62
|
-
- lib/bane/
|
63
|
-
|
64
|
-
|
65
|
-
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
- LICENSE
|
73
|
-
- README.md
|
74
|
-
- TODO
|
75
|
-
has_rdoc: true
|
76
|
-
homepage: http://github.com/danielwellman/bane
|
77
|
-
licenses: []
|
78
|
-
|
79
|
-
post_install_message:
|
80
|
-
rdoc_options:
|
81
|
-
- --charset=UTF-8
|
82
|
-
require_paths:
|
97
|
+
- lib/bane/version.rb
|
98
|
+
homepage: https://github.com/danielwellman/bane
|
99
|
+
licenses:
|
100
|
+
- BSD
|
101
|
+
metadata:
|
102
|
+
source_code_uri: https://github.com/danielwellman/bane
|
103
|
+
changelog_uri: https://github.com/danielwellman/bane/blob/main/HISTORY.md
|
104
|
+
post_install_message:
|
105
|
+
rdoc_options: []
|
106
|
+
require_paths:
|
83
107
|
- lib
|
84
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
85
|
-
|
86
|
-
requirements:
|
108
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
87
110
|
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
version: "0"
|
93
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
-
none: false
|
95
|
-
requirements:
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: 2.5.0
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
96
115
|
- - ">="
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
segments:
|
100
|
-
- 0
|
101
|
-
version: "0"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
102
118
|
requirements: []
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
test_files:
|
110
|
-
- test/bane/behaviors_test.rb
|
111
|
-
- test/bane/configuration_parser_test.rb
|
112
|
-
- test/bane/configuration_test.rb
|
113
|
-
- test/bane/delegating_gserver_test.rb
|
114
|
-
- test/bane/integration_test.rb
|
115
|
-
- test/bane/launcher_test.rb
|
116
|
-
- test/bane/naive_http_response_test.rb
|
117
|
-
- test/bane/service_registry_test.rb
|
118
|
-
- test/test_helper.rb
|
119
|
-
- examples/simple_port_and_class_as_constant.rb
|
120
|
-
- examples/simple_port_and_class_as_string.rb
|
121
|
-
- examples/specify_behavior_options.rb
|
122
|
-
- examples/specify_ports.rb
|
119
|
+
rubygems_version: 3.1.6
|
120
|
+
signing_key:
|
121
|
+
specification_version: 4
|
122
|
+
summary: A test harness for socket connections based upon ideas from Michael Nygard's
|
123
|
+
'Release It!'
|
124
|
+
test_files: []
|
data/Rakefile
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rake'
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'jeweler'
|
6
|
-
Jeweler::Tasks.new do |gem|
|
7
|
-
gem.name = "bane"
|
8
|
-
gem.summary = "A test harness for socket connections based upon ideas from Michael Nygard's 'Release It!'"
|
9
|
-
gem.description = <<-END
|
10
|
-
Bane is a test harness used to test your application's interaction with
|
11
|
-
other servers. It is based upon the material from Michael Nygard's "Release
|
12
|
-
It!" book as described in the "Test Harness" chapter.
|
13
|
-
END
|
14
|
-
gem.authors = ["Daniel Wellman"]
|
15
|
-
gem.email = "dan@danielwellman.com"
|
16
|
-
gem.homepage = "http://github.com/danielwellman/bane"
|
17
|
-
gem.files = FileList[ 'lib/**/*', 'bin/*', 'test/**/*', 'examples/*',
|
18
|
-
'Rakefile' ]
|
19
|
-
gem.add_development_dependency('mocha', '>= 0.9.8')
|
20
|
-
end
|
21
|
-
Jeweler::GemcutterTasks.new
|
22
|
-
rescue LoadError
|
23
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
24
|
-
end
|
25
|
-
|
26
|
-
require 'rake/testtask'
|
27
|
-
desc "Run all tests"
|
28
|
-
Rake::TestTask.new do |test|
|
29
|
-
test.libs << 'test'
|
30
|
-
test.test_files = FileList['test/**/*_test.rb']
|
31
|
-
test.verbose = true
|
32
|
-
end
|
33
|
-
|
34
|
-
begin
|
35
|
-
require 'rcov/rcovtask'
|
36
|
-
Rcov::RcovTask.new do |test|
|
37
|
-
test.libs << 'test'
|
38
|
-
test.pattern = 'test/**/*_test.rb'
|
39
|
-
test.verbose = true
|
40
|
-
end
|
41
|
-
rescue LoadError
|
42
|
-
task :rcov do
|
43
|
-
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
|
48
|
-
task :test => :check_dependencies
|
49
|
-
|
50
|
-
task :default => :test
|
51
|
-
|
52
|
-
require 'rake/rdoctask'
|
53
|
-
Rake::RDocTask.new do |rdoc|
|
54
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
55
|
-
|
56
|
-
rdoc.rdoc_dir = 'rdoc'
|
57
|
-
rdoc.title = "bane #{version}"
|
58
|
-
rdoc.rdoc_files.include('README*')
|
59
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
60
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
|
2
|
-
require 'bane'
|
3
|
-
|
4
|
-
include Bane
|
5
|
-
include Behaviors
|
6
|
-
|
7
|
-
launcher = Launcher.new(Configuration(
|
8
|
-
10256 => {:behavior => CloseAfterPause, :duration => 3},
|
9
|
-
10593 => {:behavior => FixedResponse, :message => "Hey!"},
|
10
|
-
10689 => {:behavior => SlowResponse, :message => "Custom message", :pause_duration => 15},
|
11
|
-
11239 => CloseAfterPause # Use the defaults for this behavior, don't need a Hash
|
12
|
-
)
|
13
|
-
)
|
14
|
-
launcher.start
|
15
|
-
launcher.join
|
16
|
-
# runs until interrupt...
|
data/examples/specify_ports.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
|
2
|
-
require 'bane'
|
3
|
-
|
4
|
-
include Bane
|
5
|
-
include Behaviors
|
6
|
-
|
7
|
-
launcher = Launcher.new(Configuration(
|
8
|
-
10256 => CloseAfterPause,
|
9
|
-
10689 => CloseAfterPause, # severs may be repeated
|
10
|
-
11999 => CloseImmediately
|
11
|
-
)
|
12
|
-
)
|
13
|
-
launcher.start
|
14
|
-
launcher.join
|
15
|
-
# runs until interrupt...
|