langrove 0.0.4.5 → 0.0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.rvmrc +29 -38
- data/Gemfile +13 -7
- data/Gemfile.lock +35 -32
- data/Guardfile +11 -0
- data/README.md +34 -0
- data/Rakefile +8 -6
- data/bin/README.md +3 -0
- data/bin/langrove +1 -2
- data/langrove.gemspec +35 -0
- data/lib/langrove/README.md +82 -0
- data/lib/langrove/adaptor/README.md +92 -0
- data/lib/langrove/adaptor/adaptor_base.rb +123 -0
- data/lib/langrove/adaptor/base.rb +12 -2
- data/lib/langrove/adaptor/default.rb +8 -0
- data/lib/langrove/adaptor/event_machine_adaptor.rb +152 -0
- data/lib/langrove/adaptor/query_adaptor.rb +271 -0
- data/lib/langrove/behaviour/README.md +170 -0
- data/lib/langrove/behaviour/assessable.rb +63 -0
- data/lib/langrove/behaviour/base.rb +16 -0
- data/lib/langrove/behaviour/behaviour_base.rb +341 -0
- data/lib/langrove/behaviour/enqueueable.rb +104 -0
- data/lib/langrove/behaviour/notifiable.rb +48 -0
- data/lib/langrove/behaviour/persistable.rb +89 -0
- data/lib/langrove/behaviour/preloadable.rb +63 -0
- data/lib/langrove/daemon/README.md +7 -0
- data/lib/langrove/daemon/base.rb +9 -2
- data/lib/langrove/daemon/daemon_base.rb +330 -0
- data/lib/langrove/daemon/default.rb +3 -0
- data/lib/langrove/ext/README.md +48 -0
- data/lib/langrove/ext/class_loader.rb +9 -66
- data/lib/langrove/ext/config_item.rb +31 -23
- data/lib/langrove/ext/config_loader.rb +42 -8
- data/lib/langrove/ext/fake_config.rb +121 -0
- data/lib/langrove/ext/fake_logger.rb +50 -7
- data/lib/langrove/ext/fake_root.rb +38 -0
- data/lib/langrove/ext/hash.rb +56 -0
- data/lib/langrove/ext/i.rb +43 -0
- data/lib/langrove/ext/log_monitor.rb +272 -0
- data/lib/langrove/ext/module_loader.rb +52 -0
- data/lib/langrove/ext/recursive_string.rb +94 -0
- data/lib/langrove/ext/spec_helper.rb +84 -0
- data/lib/langrove/ext.rb +8 -2
- data/lib/langrove/handler/README.md +161 -0
- data/lib/langrove/handler/base.rb +29 -2
- data/lib/langrove/handler/default.rb +4 -0
- data/lib/langrove/handler/deferred.rb +105 -0
- data/lib/langrove/handler/handler_base.rb +242 -0
- data/lib/langrove/handler/http_servlet.rb +58 -0
- data/lib/langrove/handler/socket.rb +21 -0
- data/lib/langrove/handler/socket_base.rb +127 -0
- data/lib/langrove/handler/socket_multiplexer.rb +438 -0
- data/lib/langrove/handler/web_socket.rb +41 -0
- data/lib/langrove/plugin/README.md +76 -0
- data/lib/langrove/plugin/assessor.rb +363 -0
- data/lib/langrove/plugin/base.rb +18 -0
- data/lib/langrove/plugin/buffered_persistor.rb +97 -0
- data/lib/langrove/plugin/enqueuer.rb +186 -0
- data/lib/langrove/plugin/notifier.rb +144 -0
- data/lib/langrove/plugin/persistor.rb +360 -0
- data/lib/langrove/plugin/plugin_base.rb +79 -0
- data/lib/langrove/plugin/yaml_file.md +5 -0
- data/lib/langrove/plugin/yaml_file.rb +261 -0
- data/lib/langrove/protocol/README.md +102 -0
- data/lib/langrove/protocol/base.rb +10 -2
- data/lib/langrove/protocol/default.rb +3 -0
- data/lib/langrove/protocol/protocol_base.rb +60 -0
- data/lib/langrove/protocol/syslog.rb +34 -27
- data/lib/langrove/root/README.md +17 -0
- data/lib/langrove/root/base.rb +11 -0
- data/lib/langrove/root/config.rb +163 -0
- data/lib/langrove/root/root_base.rb +259 -0
- data/lib/langrove/server/README.md +7 -0
- data/lib/langrove/server/base.rb +9 -0
- data/lib/langrove/server/default.rb +3 -0
- data/lib/langrove/server/server_base.rb +301 -0
- data/lib/langrove/version.rb +3 -1
- data/lib/langrove.rb +44 -1
- data/spec/langrove/adaptor/adaptor_base_spec.rb +33 -0
- data/spec/langrove/adaptor/event_machine_adaptor_spec.rb +62 -0
- data/spec/langrove/adaptor/query_adaptor_spec.rb +94 -0
- data/spec/langrove/behaviour/assessable_spec.rb +42 -0
- data/spec/langrove/behaviour/behaviour_base_spec.rb +396 -0
- data/spec/langrove/behaviour/enqueueable_spec.rb +19 -0
- data/spec/langrove/behaviour/notifiable_spec.rb +6 -0
- data/spec/langrove/behaviour/persistable_spec.rb +19 -0
- data/spec/langrove/behaviour/preloadable_spec.rb +19 -0
- data/spec/langrove/daemon/base_spec.rb +6 -0
- data/spec/langrove/daemon/daemon_base_spec.rb +253 -0
- data/spec/langrove/ext/class_loader_spec.rb +9 -12
- data/spec/langrove/ext/fake_config_spec.rb +50 -0
- data/spec/langrove/ext/fake_logger_spec.rb +12 -0
- data/spec/langrove/ext/fake_root_spec.rb +19 -0
- data/spec/langrove/ext/hash_spec.rb +54 -0
- data/spec/langrove/ext/i_spec.rb +11 -0
- data/spec/langrove/ext/log_monitor_spec.rb +254 -0
- data/spec/langrove/ext/module_loader_spec.rb +70 -0
- data/spec/langrove/ext/recursive_string_spec.rb +132 -0
- data/{functional/config/environments/development.rb → spec/langrove/ext/spec_helper_spec.rb} +0 -0
- data/spec/langrove/handler/deferred_spec.rb +9 -0
- data/spec/langrove/handler/handler_base_spec.rb +134 -0
- data/spec/langrove/handler/socket_base_spec.rb +76 -0
- data/spec/langrove/handler/socket_multiplexer_spec.rb +480 -0
- data/spec/langrove/handler/socket_spec.rb +6 -0
- data/spec/langrove/handler/web_socket_spec.rb +19 -0
- data/spec/langrove/plugin/assessor_spec.rb +278 -0
- data/spec/langrove/plugin/buffered_persistor_spec.rb +94 -0
- data/spec/langrove/plugin/enqueuer_spec.rb +136 -0
- data/spec/langrove/plugin/notifier_spec.rb +107 -0
- data/spec/langrove/plugin/persistor_spec.rb +300 -0
- data/spec/langrove/plugin/plugin_base_spec.rb +86 -0
- data/spec/langrove/plugin/yaml_file_spec.rb +348 -0
- data/spec/langrove/protocol/protocol_base_spec.rb +19 -0
- data/spec/langrove/protocol/syslog_spec.rb +5 -2
- data/spec/langrove/root/config_spec.rb +103 -0
- data/spec/langrove/root/root_base_spec.rb +93 -0
- data/spec/langrove/server/server_base_spec.rb +414 -0
- data/spec/spec_helper.rb +38 -0
- metadata +157 -92
- data/.watchr +0 -27
- data/functional/config/boot.rb +0 -64
- data/functional/config/daemons.yml +0 -13
- data/functional/config/environment.rb +0 -28
- data/functional/config/environments/production.rb +0 -0
- data/functional/config/environments/test.rb +0 -0
- data/functional/lib/client/socket_to_file.rb +0 -47
- data/functional/lib/daemon/datagram.rb +0 -21
- data/functional/lib/protocol/socket_to_file.rb +0 -55
- data/functional/libexec/daemon.rb +0 -68
- data/functional/tmp/README +0 -1
- data/lib/langrove/_base.rb +0 -28
- data/lib/langrove/adaptor_base.rb +0 -116
- data/lib/langrove/client/base.rb +0 -2
- data/lib/langrove/client/datagram.rb +0 -25
- data/lib/langrove/client_base.rb +0 -92
- data/lib/langrove/daemon_base.rb +0 -281
- data/lib/langrove/ext/find.rb +0 -90
- data/lib/langrove/ext/persistable.rb +0 -103
- data/lib/langrove/handler_base.rb +0 -148
- data/lib/langrove/job/base.rb +0 -1
- data/lib/langrove/job_base.rb +0 -24
- data/lib/langrove/protocol_base.rb +0 -32
- data/spec/functional/daemon/datagram_spec.rb +0 -121
- data/spec/langrove/adaptor_base_spec.rb +0 -63
- data/spec/langrove/client/datagram_spec.rb +0 -1
- data/spec/langrove/client_base_spec.rb +0 -5
- data/spec/langrove/daemon_base_spec.rb +0 -154
- data/spec/langrove/ext/find_spec.rb +0 -53
- data/spec/langrove/ext/persistable_spec.rb +0 -117
- data/spec/langrove/handler_base_spec.rb +0 -103
- data/spec/langrove/job_base_spec.rb +0 -28
- data/spec/langrove/protocol_base_spec.rb +0 -6
- data/spec/todo_spec.rb +0 -12
- data/tmp/README +0 -2
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: langrove
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,168 +12,233 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2012-
|
15
|
+
date: 2012-08-08 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
|
-
name:
|
19
|
-
requirement:
|
18
|
+
name: eventmachine
|
19
|
+
requirement: !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
22
|
- - ! '>='
|
23
23
|
- !ruby/object:Gem::Version
|
24
24
|
version: '0'
|
25
|
-
type: :
|
25
|
+
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements:
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: rspec
|
30
|
-
requirement: &70148317912900 !ruby/object:Gem::Requirement
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
28
|
none: false
|
32
29
|
requirements:
|
33
|
-
- -
|
30
|
+
- - ! '>='
|
34
31
|
- !ruby/object:Gem::Version
|
35
|
-
version: '
|
36
|
-
type: :development
|
37
|
-
prerelease: false
|
38
|
-
version_requirements: *70148317912900
|
32
|
+
version: '0'
|
39
33
|
- !ruby/object:Gem::Dependency
|
40
|
-
name:
|
41
|
-
requirement:
|
34
|
+
name: em-http-request
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
42
36
|
none: false
|
43
37
|
requirements:
|
44
|
-
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '1.8'
|
47
38
|
- - ! '>='
|
48
39
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0
|
50
|
-
type: :
|
40
|
+
version: '0'
|
41
|
+
type: :runtime
|
51
42
|
prerelease: false
|
52
|
-
version_requirements:
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: eventmachine
|
55
|
-
requirement: &70148317911420 !ruby/object:Gem::Requirement
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
56
44
|
none: false
|
57
45
|
requirements:
|
58
|
-
- -
|
46
|
+
- - ! '>='
|
59
47
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0
|
48
|
+
version: '0'
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: em-websocket
|
51
|
+
requirement: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
61
54
|
- - ! '>='
|
62
55
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0
|
56
|
+
version: '0'
|
64
57
|
type: :runtime
|
65
58
|
prerelease: false
|
66
|
-
version_requirements:
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: em-http-request
|
69
|
-
requirement: &70148317910660 !ruby/object:Gem::Requirement
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
60
|
none: false
|
71
61
|
requirements:
|
72
|
-
- -
|
62
|
+
- - ! '>='
|
73
63
|
- !ruby/object:Gem::Version
|
74
|
-
version: '0
|
64
|
+
version: '0'
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: eventmachine_httpserver
|
67
|
+
requirement: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
69
|
+
requirements:
|
75
70
|
- - ! '>='
|
76
71
|
- !ruby/object:Gem::Version
|
77
|
-
version: 0
|
72
|
+
version: '0'
|
78
73
|
type: :runtime
|
79
74
|
prerelease: false
|
80
|
-
version_requirements:
|
75
|
+
version_requirements: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - ! '>='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: daemon-kit
|
83
|
-
requirement:
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
|
-
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '0.1'
|
89
86
|
- - ! '>='
|
90
87
|
- !ruby/object:Gem::Version
|
91
|
-
version: 0
|
88
|
+
version: '0'
|
92
89
|
type: :runtime
|
93
90
|
prerelease: false
|
94
|
-
version_requirements:
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: resque
|
97
|
-
requirement: &70148317909160 !ruby/object:Gem::Requirement
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
98
92
|
none: false
|
99
93
|
requirements:
|
100
|
-
- -
|
94
|
+
- - ! '>='
|
101
95
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: awesome_print
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
103
102
|
- - ! '>='
|
104
103
|
- !ruby/object:Gem::Version
|
105
|
-
version:
|
104
|
+
version: '0'
|
106
105
|
type: :runtime
|
107
106
|
prerelease: false
|
108
|
-
version_requirements:
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - ! '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
109
113
|
description: ''
|
110
|
-
email:
|
114
|
+
email: ops@clue.co.za
|
111
115
|
executables:
|
112
116
|
- langrove
|
113
117
|
extensions: []
|
114
118
|
extra_rdoc_files: []
|
115
119
|
files:
|
116
|
-
- bin/langrove
|
117
|
-
- Gemfile
|
118
|
-
- Gemfile.lock
|
119
120
|
- .rspec
|
120
121
|
- .rvmrc
|
121
|
-
-
|
122
|
+
- Gemfile
|
123
|
+
- Gemfile.lock
|
124
|
+
- Guardfile
|
125
|
+
- README.md
|
122
126
|
- Rakefile
|
123
|
-
-
|
124
|
-
-
|
125
|
-
-
|
126
|
-
-
|
127
|
-
-
|
128
|
-
-
|
129
|
-
-
|
130
|
-
- functional/lib/client/socket_to_file.rb
|
131
|
-
- functional/lib/daemon/datagram.rb
|
132
|
-
- functional/lib/protocol/socket_to_file.rb
|
133
|
-
- functional/libexec/daemon.rb
|
134
|
-
- functional/tmp/README
|
135
|
-
- lib/langrove/_base.rb
|
127
|
+
- bin/README.md
|
128
|
+
- bin/langrove
|
129
|
+
- langrove.gemspec
|
130
|
+
- lib/langrove.rb
|
131
|
+
- lib/langrove/README.md
|
132
|
+
- lib/langrove/adaptor/README.md
|
133
|
+
- lib/langrove/adaptor/adaptor_base.rb
|
136
134
|
- lib/langrove/adaptor/base.rb
|
137
|
-
- lib/langrove/
|
138
|
-
- lib/langrove/
|
139
|
-
- lib/langrove/
|
140
|
-
- lib/langrove/
|
135
|
+
- lib/langrove/adaptor/default.rb
|
136
|
+
- lib/langrove/adaptor/event_machine_adaptor.rb
|
137
|
+
- lib/langrove/adaptor/query_adaptor.rb
|
138
|
+
- lib/langrove/behaviour/README.md
|
139
|
+
- lib/langrove/behaviour/assessable.rb
|
140
|
+
- lib/langrove/behaviour/base.rb
|
141
|
+
- lib/langrove/behaviour/behaviour_base.rb
|
142
|
+
- lib/langrove/behaviour/enqueueable.rb
|
143
|
+
- lib/langrove/behaviour/notifiable.rb
|
144
|
+
- lib/langrove/behaviour/persistable.rb
|
145
|
+
- lib/langrove/behaviour/preloadable.rb
|
146
|
+
- lib/langrove/daemon/README.md
|
141
147
|
- lib/langrove/daemon/base.rb
|
142
|
-
- lib/langrove/daemon_base.rb
|
148
|
+
- lib/langrove/daemon/daemon_base.rb
|
149
|
+
- lib/langrove/daemon/default.rb
|
150
|
+
- lib/langrove/ext.rb
|
151
|
+
- lib/langrove/ext/README.md
|
143
152
|
- lib/langrove/ext/class_loader.rb
|
144
153
|
- lib/langrove/ext/config_item.rb
|
145
154
|
- lib/langrove/ext/config_loader.rb
|
155
|
+
- lib/langrove/ext/fake_config.rb
|
146
156
|
- lib/langrove/ext/fake_logger.rb
|
147
|
-
- lib/langrove/ext/
|
148
|
-
- lib/langrove/ext/
|
157
|
+
- lib/langrove/ext/fake_root.rb
|
158
|
+
- lib/langrove/ext/hash.rb
|
159
|
+
- lib/langrove/ext/i.rb
|
160
|
+
- lib/langrove/ext/log_monitor.rb
|
161
|
+
- lib/langrove/ext/module_loader.rb
|
162
|
+
- lib/langrove/ext/recursive_string.rb
|
163
|
+
- lib/langrove/ext/spec_helper.rb
|
149
164
|
- lib/langrove/ext/string.rb
|
150
|
-
- lib/langrove/
|
165
|
+
- lib/langrove/handler/README.md
|
151
166
|
- lib/langrove/handler/base.rb
|
152
|
-
- lib/langrove/
|
153
|
-
- lib/langrove/
|
154
|
-
- lib/langrove/
|
167
|
+
- lib/langrove/handler/default.rb
|
168
|
+
- lib/langrove/handler/deferred.rb
|
169
|
+
- lib/langrove/handler/handler_base.rb
|
170
|
+
- lib/langrove/handler/http_servlet.rb
|
171
|
+
- lib/langrove/handler/socket.rb
|
172
|
+
- lib/langrove/handler/socket_base.rb
|
173
|
+
- lib/langrove/handler/socket_multiplexer.rb
|
174
|
+
- lib/langrove/handler/web_socket.rb
|
175
|
+
- lib/langrove/plugin/README.md
|
176
|
+
- lib/langrove/plugin/assessor.rb
|
177
|
+
- lib/langrove/plugin/base.rb
|
178
|
+
- lib/langrove/plugin/buffered_persistor.rb
|
179
|
+
- lib/langrove/plugin/enqueuer.rb
|
180
|
+
- lib/langrove/plugin/notifier.rb
|
181
|
+
- lib/langrove/plugin/persistor.rb
|
182
|
+
- lib/langrove/plugin/plugin_base.rb
|
183
|
+
- lib/langrove/plugin/yaml_file.md
|
184
|
+
- lib/langrove/plugin/yaml_file.rb
|
185
|
+
- lib/langrove/protocol/README.md
|
155
186
|
- lib/langrove/protocol/base.rb
|
187
|
+
- lib/langrove/protocol/default.rb
|
188
|
+
- lib/langrove/protocol/protocol_base.rb
|
156
189
|
- lib/langrove/protocol/syslog.rb
|
157
|
-
- lib/langrove/
|
190
|
+
- lib/langrove/root/README.md
|
191
|
+
- lib/langrove/root/base.rb
|
192
|
+
- lib/langrove/root/config.rb
|
193
|
+
- lib/langrove/root/root_base.rb
|
194
|
+
- lib/langrove/server/README.md
|
195
|
+
- lib/langrove/server/base.rb
|
196
|
+
- lib/langrove/server/default.rb
|
197
|
+
- lib/langrove/server/server_base.rb
|
158
198
|
- lib/langrove/version.rb
|
159
|
-
-
|
160
|
-
- spec/
|
161
|
-
- spec/langrove/
|
162
|
-
- spec/langrove/
|
163
|
-
- spec/langrove/
|
164
|
-
- spec/langrove/
|
199
|
+
- spec/langrove/adaptor/adaptor_base_spec.rb
|
200
|
+
- spec/langrove/adaptor/event_machine_adaptor_spec.rb
|
201
|
+
- spec/langrove/adaptor/query_adaptor_spec.rb
|
202
|
+
- spec/langrove/behaviour/assessable_spec.rb
|
203
|
+
- spec/langrove/behaviour/behaviour_base_spec.rb
|
204
|
+
- spec/langrove/behaviour/enqueueable_spec.rb
|
205
|
+
- spec/langrove/behaviour/notifiable_spec.rb
|
206
|
+
- spec/langrove/behaviour/persistable_spec.rb
|
207
|
+
- spec/langrove/behaviour/preloadable_spec.rb
|
208
|
+
- spec/langrove/daemon/base_spec.rb
|
209
|
+
- spec/langrove/daemon/daemon_base_spec.rb
|
165
210
|
- spec/langrove/ext/class_loader_spec.rb
|
166
211
|
- spec/langrove/ext/config_item_spec.rb
|
167
212
|
- spec/langrove/ext/config_loader_spec.rb
|
213
|
+
- spec/langrove/ext/fake_config_spec.rb
|
168
214
|
- spec/langrove/ext/fake_logger_spec.rb
|
169
|
-
- spec/langrove/ext/
|
170
|
-
- spec/langrove/ext/
|
215
|
+
- spec/langrove/ext/fake_root_spec.rb
|
216
|
+
- spec/langrove/ext/hash_spec.rb
|
217
|
+
- spec/langrove/ext/i_spec.rb
|
218
|
+
- spec/langrove/ext/log_monitor_spec.rb
|
219
|
+
- spec/langrove/ext/module_loader_spec.rb
|
220
|
+
- spec/langrove/ext/recursive_string_spec.rb
|
221
|
+
- spec/langrove/ext/spec_helper_spec.rb
|
171
222
|
- spec/langrove/ext/string_spec.rb
|
172
|
-
- spec/langrove/
|
173
|
-
- spec/langrove/
|
223
|
+
- spec/langrove/handler/deferred_spec.rb
|
224
|
+
- spec/langrove/handler/handler_base_spec.rb
|
225
|
+
- spec/langrove/handler/socket_base_spec.rb
|
226
|
+
- spec/langrove/handler/socket_multiplexer_spec.rb
|
227
|
+
- spec/langrove/handler/socket_spec.rb
|
228
|
+
- spec/langrove/handler/web_socket_spec.rb
|
229
|
+
- spec/langrove/plugin/assessor_spec.rb
|
230
|
+
- spec/langrove/plugin/buffered_persistor_spec.rb
|
231
|
+
- spec/langrove/plugin/enqueuer_spec.rb
|
232
|
+
- spec/langrove/plugin/notifier_spec.rb
|
233
|
+
- spec/langrove/plugin/persistor_spec.rb
|
234
|
+
- spec/langrove/plugin/plugin_base_spec.rb
|
235
|
+
- spec/langrove/plugin/yaml_file_spec.rb
|
236
|
+
- spec/langrove/protocol/protocol_base_spec.rb
|
174
237
|
- spec/langrove/protocol/syslog_spec.rb
|
175
|
-
- spec/langrove/
|
176
|
-
- spec/
|
238
|
+
- spec/langrove/root/config_spec.rb
|
239
|
+
- spec/langrove/root/root_base_spec.rb
|
240
|
+
- spec/langrove/server/server_base_spec.rb
|
241
|
+
- spec/spec_helper.rb
|
177
242
|
homepage: ''
|
178
243
|
licenses: []
|
179
244
|
post_install_message:
|
@@ -194,7 +259,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
259
|
version: '0'
|
195
260
|
requirements: []
|
196
261
|
rubyforge_project:
|
197
|
-
rubygems_version: 1.8.
|
262
|
+
rubygems_version: 1.8.24
|
198
263
|
signing_key:
|
199
264
|
specification_version: 3
|
200
265
|
summary: eventmachine based networked daemon framework
|
data/.watchr
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
def run_spec(file)
|
2
|
-
unless File.exist?(file)
|
3
|
-
puts "#{file} does not exist"
|
4
|
-
return
|
5
|
-
end
|
6
|
-
|
7
|
-
puts "Running #{file}"
|
8
|
-
system "rspec #{file}"
|
9
|
-
puts
|
10
|
-
end
|
11
|
-
|
12
|
-
watch("spec/.*/*_spec.rb") do |match|
|
13
|
-
run_spec match[0]
|
14
|
-
end
|
15
|
-
|
16
|
-
watch("(.*/*).rb") do |match|
|
17
|
-
file = match[1]
|
18
|
-
file.gsub!('lib/','')
|
19
|
-
file.gsub!('spec/','')
|
20
|
-
file.sub!('_spec','')
|
21
|
-
puts "====#{file}==="
|
22
|
-
if /demo/.match(match[0]) then
|
23
|
-
run_spec %{spec/#{file}_spec.rb}
|
24
|
-
next
|
25
|
-
end
|
26
|
-
run_spec %{spec/#{file}_spec.rb}
|
27
|
-
end
|
data/functional/config/boot.rb
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
# Don't change this file!
|
2
|
-
# Configure your daemon in config/environment.rb
|
3
|
-
|
4
|
-
DAEMON_ROOT = "#{File.expand_path(File.dirname(__FILE__))}/.." unless defined?( DAEMON_ROOT )
|
5
|
-
|
6
|
-
require "rubygems"
|
7
|
-
require "bundler/setup"
|
8
|
-
|
9
|
-
module DaemonKit
|
10
|
-
class << self
|
11
|
-
def boot!
|
12
|
-
unless booted?
|
13
|
-
pick_boot.run
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def booted?
|
18
|
-
defined? DaemonKit::Initializer
|
19
|
-
end
|
20
|
-
|
21
|
-
def pick_boot
|
22
|
-
(vendor_kit? ? VendorBoot : GemBoot).new
|
23
|
-
end
|
24
|
-
|
25
|
-
def vendor_kit?
|
26
|
-
File.exists?( "#{DAEMON_ROOT}/vendor/daemon-kit" )
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
class Boot
|
31
|
-
def run
|
32
|
-
load_initializer
|
33
|
-
DaemonKit::Initializer.run
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
class VendorBoot < Boot
|
38
|
-
def load_initializer
|
39
|
-
require "#{DAEMON_ROOT}/vendor/daemon-kit/lib/daemon_kit/initializer"
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
class GemBoot < Boot
|
44
|
-
def load_initializer
|
45
|
-
begin
|
46
|
-
require 'rubygems' unless defined?( ::Gem )
|
47
|
-
gem 'daemon-kit'
|
48
|
-
require 'daemon_kit/initializer'
|
49
|
-
rescue ::Gem::LoadError => e
|
50
|
-
msg = <<EOF
|
51
|
-
|
52
|
-
You are missing the daemon-kit gem. Please install the following gem:
|
53
|
-
|
54
|
-
sudo gem install daemon-kit
|
55
|
-
|
56
|
-
EOF
|
57
|
-
$stderr.puts msg
|
58
|
-
exit 1
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
DaemonKit.boot!
|
@@ -1,28 +0,0 @@
|
|
1
|
-
ENV["TZ"] = "ZA"
|
2
|
-
#ENV['DAEMON_ENV'] ||= 'production'
|
3
|
-
|
4
|
-
# Boot up
|
5
|
-
require File.join(File.dirname(__FILE__), 'boot')
|
6
|
-
|
7
|
-
# Auto-require default libraries.
|
8
|
-
Bundler.require :default, DaemonKit.env
|
9
|
-
|
10
|
-
DaemonKit::Initializer.run do |config|
|
11
|
-
|
12
|
-
config.daemon_name = DAEMON_NAME
|
13
|
-
|
14
|
-
# Force the daemon to be killed after X seconds from asking it to
|
15
|
-
# config.force_kill_wait = 30
|
16
|
-
|
17
|
-
# Log backraces when a thread/daemon dies (Recommended)
|
18
|
-
config.backtraces = true
|
19
|
-
|
20
|
-
#
|
21
|
-
# TODO: move log level into per daemon config
|
22
|
-
#
|
23
|
-
#config.log_level = :debug
|
24
|
-
config.log_level = :debug
|
25
|
-
#config.log_level = :warn
|
26
|
-
#config.log_level = :error
|
27
|
-
|
28
|
-
end
|
File without changes
|
File without changes
|
@@ -1,47 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Define a Client by extending LanGrove::Handler::Client
|
3
|
-
# and extending the functions:
|
4
|
-
#
|
5
|
-
# 1. <YourClass>.receive( decoded_data )
|
6
|
-
#
|
7
|
-
# Data arriving from the Adaptor will arrive into
|
8
|
-
# this function having already been decoded by the
|
9
|
-
# configured Protocol for this Daemon
|
10
|
-
#
|
11
|
-
# # 2. <YourClass>.transmit
|
12
|
-
# #
|
13
|
-
|
14
|
-
require 'langrove'
|
15
|
-
|
16
|
-
module Client
|
17
|
-
|
18
|
-
class SocketToFile < LanGrove::Client::Base
|
19
|
-
|
20
|
-
def periodic
|
21
|
-
|
22
|
-
#
|
23
|
-
# OVERRIDE
|
24
|
-
#
|
25
|
-
# To perform activities on the periodic ticker.
|
26
|
-
#
|
27
|
-
@logger.debug( "#{self}.periodic" )
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
def receive( data )
|
32
|
-
|
33
|
-
@logger.debug( "#{self}.receive: #{data}" )
|
34
|
-
|
35
|
-
File.open( data[:filename], 'w' ) do |f|
|
36
|
-
|
37
|
-
f.write( data[:content] )
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
@logger.debug "Wrote data: '#{data[ :content ]}' to file: '#{ data[ :filename ]}'"
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
class Datagram < LanGrove::Daemon::Base
|
2
|
-
|
3
|
-
#
|
4
|
-
# Consider tossing this dependancy.
|
5
|
-
#
|
6
|
-
# Not entirely certain this layer in the abstraction
|
7
|
-
# will be useful.
|
8
|
-
#
|
9
|
-
# Except, by
|
10
|
-
#
|
11
|
-
# << using this layer in the abstraction >>
|
12
|
-
#
|
13
|
-
#
|
14
|
-
# the eval "require 'module/class_name.rb'" in the
|
15
|
-
# langrove/ext/class_loader could possibly be avoided
|
16
|
-
# if the implementation requires all necessary modules
|
17
|
-
# ahead of starting the daemon.
|
18
|
-
#
|
19
|
-
#
|
20
|
-
|
21
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Define a Protocol by extending LanGrove::Protocol::Base
|
3
|
-
# and extending the functions:
|
4
|
-
#
|
5
|
-
# 1. <YourClass>.decode( data )
|
6
|
-
#
|
7
|
-
# Data arriving from the Adaptor will be passed to
|
8
|
-
# the config assigned protocol. The Handler will
|
9
|
-
# be expecting decoded data in the form of a Hash
|
10
|
-
#
|
11
|
-
# SPECIFICALLY: One of the keys should correspond
|
12
|
-
# to the :route_by in the config.
|
13
|
-
#
|
14
|
-
# # 2. <YourClass>.encode( .. )
|
15
|
-
# #
|
16
|
-
|
17
|
-
|
18
|
-
require 'langrove'
|
19
|
-
|
20
|
-
module Protocol
|
21
|
-
|
22
|
-
#
|
23
|
-
# Module is only necessary if you choose to
|
24
|
-
# structure associations of class by name.
|
25
|
-
#
|
26
|
-
# eg.
|
27
|
-
#
|
28
|
-
# Protocol::SocketToFile
|
29
|
-
# Handler::SocketToFile
|
30
|
-
#
|
31
|
-
|
32
|
-
class SocketToFile < LanGrove::Protocol::Base
|
33
|
-
|
34
|
-
def decode( data )
|
35
|
-
|
36
|
-
#
|
37
|
-
# OVERRIDE
|
38
|
-
#
|
39
|
-
# Becasuse your protocol
|
40
|
-
#
|
41
|
-
|
42
|
-
@logger.debug( "#{self}.decode: #{data}" ) unless @logger.nil?
|
43
|
-
|
44
|
-
{
|
45
|
-
|
46
|
-
:filename => data.split('|')[0],
|
47
|
-
:content => data.split('|',2)[1]
|
48
|
-
|
49
|
-
}
|
50
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
|
55
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
require 'langrove'
|
2
|
-
|
3
|
-
CLASS_NAME = DAEMON_NAME.camelize
|
4
|
-
CONFIG_FILE = "#{DAEMON_ROOT}/config/daemons.yml"
|
5
|
-
CONFIG_HASH = LanGrove::ConfigLoader.yaml( CONFIG_FILE )
|
6
|
-
|
7
|
-
daemon = nil
|
8
|
-
|
9
|
-
DaemonKit::Application.running! do |config|
|
10
|
-
|
11
|
-
DaemonKit.logger.info "Spawing #{DAEMON_NAME} at pidfile #{config.pid_file}"
|
12
|
-
|
13
|
-
#
|
14
|
-
# setup signal traps
|
15
|
-
#
|
16
|
-
config.trap( 'TERM', Proc.new {
|
17
|
-
|
18
|
-
#
|
19
|
-
# Handle stop signal from os
|
20
|
-
#
|
21
|
-
daemon.stop_daemon
|
22
|
-
|
23
|
-
} )
|
24
|
-
|
25
|
-
config.trap( 'INT', Proc.new {
|
26
|
-
|
27
|
-
#
|
28
|
-
# Handle ^C from user (eg. developer) running un-daemonized
|
29
|
-
#
|
30
|
-
daemon.stop_daemon
|
31
|
-
|
32
|
-
} )
|
33
|
-
|
34
|
-
#
|
35
|
-
# Have not yet '''suitably''' succeeded in getting a sigHUP
|
36
|
-
# into a daemon with the monit/daemonkit combo yet....
|
37
|
-
#
|
38
|
-
# grumbles...
|
39
|
-
#
|
40
|
-
config.trap( 'HUP', Proc.new {
|
41
|
-
|
42
|
-
#
|
43
|
-
# Handle reload
|
44
|
-
#
|
45
|
-
daemon.reload_daemon
|
46
|
-
|
47
|
-
} )
|
48
|
-
|
49
|
-
#
|
50
|
-
# Latebind the daemon class
|
51
|
-
#
|
52
|
-
# TODO: see about tossing the libexec
|
53
|
-
# or modifying class loader to enable
|
54
|
-
# alternate load path to allow this pattern:
|
55
|
-
#
|
56
|
-
# daemon = LanGrove::ClassLoader.create( {
|
57
|
-
#
|
58
|
-
# :module => 'Daemon',
|
59
|
-
# :class => DAEMON_NAME.camelize
|
60
|
-
#
|
61
|
-
# } ).new( CONFIG_HASH, DAEMON_NAME, DaemonKit.logger )
|
62
|
-
#
|
63
|
-
|
64
|
-
require "daemon/#{DAEMON_NAME}"
|
65
|
-
daemon = Object.const_get( CLASS_NAME ).new( CONFIG_HASH, DAEMON_NAME, DaemonKit.logger )
|
66
|
-
daemon.run
|
67
|
-
|
68
|
-
end
|
data/functional/tmp/README
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
Certain test write files into here
|