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.
Files changed (153) hide show
  1. data/.rvmrc +29 -38
  2. data/Gemfile +13 -7
  3. data/Gemfile.lock +35 -32
  4. data/Guardfile +11 -0
  5. data/README.md +34 -0
  6. data/Rakefile +8 -6
  7. data/bin/README.md +3 -0
  8. data/bin/langrove +1 -2
  9. data/langrove.gemspec +35 -0
  10. data/lib/langrove/README.md +82 -0
  11. data/lib/langrove/adaptor/README.md +92 -0
  12. data/lib/langrove/adaptor/adaptor_base.rb +123 -0
  13. data/lib/langrove/adaptor/base.rb +12 -2
  14. data/lib/langrove/adaptor/default.rb +8 -0
  15. data/lib/langrove/adaptor/event_machine_adaptor.rb +152 -0
  16. data/lib/langrove/adaptor/query_adaptor.rb +271 -0
  17. data/lib/langrove/behaviour/README.md +170 -0
  18. data/lib/langrove/behaviour/assessable.rb +63 -0
  19. data/lib/langrove/behaviour/base.rb +16 -0
  20. data/lib/langrove/behaviour/behaviour_base.rb +341 -0
  21. data/lib/langrove/behaviour/enqueueable.rb +104 -0
  22. data/lib/langrove/behaviour/notifiable.rb +48 -0
  23. data/lib/langrove/behaviour/persistable.rb +89 -0
  24. data/lib/langrove/behaviour/preloadable.rb +63 -0
  25. data/lib/langrove/daemon/README.md +7 -0
  26. data/lib/langrove/daemon/base.rb +9 -2
  27. data/lib/langrove/daemon/daemon_base.rb +330 -0
  28. data/lib/langrove/daemon/default.rb +3 -0
  29. data/lib/langrove/ext/README.md +48 -0
  30. data/lib/langrove/ext/class_loader.rb +9 -66
  31. data/lib/langrove/ext/config_item.rb +31 -23
  32. data/lib/langrove/ext/config_loader.rb +42 -8
  33. data/lib/langrove/ext/fake_config.rb +121 -0
  34. data/lib/langrove/ext/fake_logger.rb +50 -7
  35. data/lib/langrove/ext/fake_root.rb +38 -0
  36. data/lib/langrove/ext/hash.rb +56 -0
  37. data/lib/langrove/ext/i.rb +43 -0
  38. data/lib/langrove/ext/log_monitor.rb +272 -0
  39. data/lib/langrove/ext/module_loader.rb +52 -0
  40. data/lib/langrove/ext/recursive_string.rb +94 -0
  41. data/lib/langrove/ext/spec_helper.rb +84 -0
  42. data/lib/langrove/ext.rb +8 -2
  43. data/lib/langrove/handler/README.md +161 -0
  44. data/lib/langrove/handler/base.rb +29 -2
  45. data/lib/langrove/handler/default.rb +4 -0
  46. data/lib/langrove/handler/deferred.rb +105 -0
  47. data/lib/langrove/handler/handler_base.rb +242 -0
  48. data/lib/langrove/handler/http_servlet.rb +58 -0
  49. data/lib/langrove/handler/socket.rb +21 -0
  50. data/lib/langrove/handler/socket_base.rb +127 -0
  51. data/lib/langrove/handler/socket_multiplexer.rb +438 -0
  52. data/lib/langrove/handler/web_socket.rb +41 -0
  53. data/lib/langrove/plugin/README.md +76 -0
  54. data/lib/langrove/plugin/assessor.rb +363 -0
  55. data/lib/langrove/plugin/base.rb +18 -0
  56. data/lib/langrove/plugin/buffered_persistor.rb +97 -0
  57. data/lib/langrove/plugin/enqueuer.rb +186 -0
  58. data/lib/langrove/plugin/notifier.rb +144 -0
  59. data/lib/langrove/plugin/persistor.rb +360 -0
  60. data/lib/langrove/plugin/plugin_base.rb +79 -0
  61. data/lib/langrove/plugin/yaml_file.md +5 -0
  62. data/lib/langrove/plugin/yaml_file.rb +261 -0
  63. data/lib/langrove/protocol/README.md +102 -0
  64. data/lib/langrove/protocol/base.rb +10 -2
  65. data/lib/langrove/protocol/default.rb +3 -0
  66. data/lib/langrove/protocol/protocol_base.rb +60 -0
  67. data/lib/langrove/protocol/syslog.rb +34 -27
  68. data/lib/langrove/root/README.md +17 -0
  69. data/lib/langrove/root/base.rb +11 -0
  70. data/lib/langrove/root/config.rb +163 -0
  71. data/lib/langrove/root/root_base.rb +259 -0
  72. data/lib/langrove/server/README.md +7 -0
  73. data/lib/langrove/server/base.rb +9 -0
  74. data/lib/langrove/server/default.rb +3 -0
  75. data/lib/langrove/server/server_base.rb +301 -0
  76. data/lib/langrove/version.rb +3 -1
  77. data/lib/langrove.rb +44 -1
  78. data/spec/langrove/adaptor/adaptor_base_spec.rb +33 -0
  79. data/spec/langrove/adaptor/event_machine_adaptor_spec.rb +62 -0
  80. data/spec/langrove/adaptor/query_adaptor_spec.rb +94 -0
  81. data/spec/langrove/behaviour/assessable_spec.rb +42 -0
  82. data/spec/langrove/behaviour/behaviour_base_spec.rb +396 -0
  83. data/spec/langrove/behaviour/enqueueable_spec.rb +19 -0
  84. data/spec/langrove/behaviour/notifiable_spec.rb +6 -0
  85. data/spec/langrove/behaviour/persistable_spec.rb +19 -0
  86. data/spec/langrove/behaviour/preloadable_spec.rb +19 -0
  87. data/spec/langrove/daemon/base_spec.rb +6 -0
  88. data/spec/langrove/daemon/daemon_base_spec.rb +253 -0
  89. data/spec/langrove/ext/class_loader_spec.rb +9 -12
  90. data/spec/langrove/ext/fake_config_spec.rb +50 -0
  91. data/spec/langrove/ext/fake_logger_spec.rb +12 -0
  92. data/spec/langrove/ext/fake_root_spec.rb +19 -0
  93. data/spec/langrove/ext/hash_spec.rb +54 -0
  94. data/spec/langrove/ext/i_spec.rb +11 -0
  95. data/spec/langrove/ext/log_monitor_spec.rb +254 -0
  96. data/spec/langrove/ext/module_loader_spec.rb +70 -0
  97. data/spec/langrove/ext/recursive_string_spec.rb +132 -0
  98. data/{functional/config/environments/development.rb → spec/langrove/ext/spec_helper_spec.rb} +0 -0
  99. data/spec/langrove/handler/deferred_spec.rb +9 -0
  100. data/spec/langrove/handler/handler_base_spec.rb +134 -0
  101. data/spec/langrove/handler/socket_base_spec.rb +76 -0
  102. data/spec/langrove/handler/socket_multiplexer_spec.rb +480 -0
  103. data/spec/langrove/handler/socket_spec.rb +6 -0
  104. data/spec/langrove/handler/web_socket_spec.rb +19 -0
  105. data/spec/langrove/plugin/assessor_spec.rb +278 -0
  106. data/spec/langrove/plugin/buffered_persistor_spec.rb +94 -0
  107. data/spec/langrove/plugin/enqueuer_spec.rb +136 -0
  108. data/spec/langrove/plugin/notifier_spec.rb +107 -0
  109. data/spec/langrove/plugin/persistor_spec.rb +300 -0
  110. data/spec/langrove/plugin/plugin_base_spec.rb +86 -0
  111. data/spec/langrove/plugin/yaml_file_spec.rb +348 -0
  112. data/spec/langrove/protocol/protocol_base_spec.rb +19 -0
  113. data/spec/langrove/protocol/syslog_spec.rb +5 -2
  114. data/spec/langrove/root/config_spec.rb +103 -0
  115. data/spec/langrove/root/root_base_spec.rb +93 -0
  116. data/spec/langrove/server/server_base_spec.rb +414 -0
  117. data/spec/spec_helper.rb +38 -0
  118. metadata +157 -92
  119. data/.watchr +0 -27
  120. data/functional/config/boot.rb +0 -64
  121. data/functional/config/daemons.yml +0 -13
  122. data/functional/config/environment.rb +0 -28
  123. data/functional/config/environments/production.rb +0 -0
  124. data/functional/config/environments/test.rb +0 -0
  125. data/functional/lib/client/socket_to_file.rb +0 -47
  126. data/functional/lib/daemon/datagram.rb +0 -21
  127. data/functional/lib/protocol/socket_to_file.rb +0 -55
  128. data/functional/libexec/daemon.rb +0 -68
  129. data/functional/tmp/README +0 -1
  130. data/lib/langrove/_base.rb +0 -28
  131. data/lib/langrove/adaptor_base.rb +0 -116
  132. data/lib/langrove/client/base.rb +0 -2
  133. data/lib/langrove/client/datagram.rb +0 -25
  134. data/lib/langrove/client_base.rb +0 -92
  135. data/lib/langrove/daemon_base.rb +0 -281
  136. data/lib/langrove/ext/find.rb +0 -90
  137. data/lib/langrove/ext/persistable.rb +0 -103
  138. data/lib/langrove/handler_base.rb +0 -148
  139. data/lib/langrove/job/base.rb +0 -1
  140. data/lib/langrove/job_base.rb +0 -24
  141. data/lib/langrove/protocol_base.rb +0 -32
  142. data/spec/functional/daemon/datagram_spec.rb +0 -121
  143. data/spec/langrove/adaptor_base_spec.rb +0 -63
  144. data/spec/langrove/client/datagram_spec.rb +0 -1
  145. data/spec/langrove/client_base_spec.rb +0 -5
  146. data/spec/langrove/daemon_base_spec.rb +0 -154
  147. data/spec/langrove/ext/find_spec.rb +0 -53
  148. data/spec/langrove/ext/persistable_spec.rb +0 -117
  149. data/spec/langrove/handler_base_spec.rb +0 -103
  150. data/spec/langrove/job_base_spec.rb +0 -28
  151. data/spec/langrove/protocol_base_spec.rb +0 -6
  152. data/spec/todo_spec.rb +0 -12
  153. 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.5
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-04-24 00:00:00.000000000Z
15
+ date: 2012-08-08 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
- name: watchr
19
- requirement: &70148317913640 !ruby/object:Gem::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: :development
25
+ type: :runtime
26
26
  prerelease: false
27
- version_requirements: *70148317913640
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: '2.9'
36
- type: :development
37
- prerelease: false
38
- version_requirements: *70148317912900
32
+ version: '0'
39
33
  - !ruby/object:Gem::Dependency
40
- name: rake
41
- requirement: &70148317912160 !ruby/object:Gem::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.8.7
50
- type: :development
40
+ version: '0'
41
+ type: :runtime
51
42
  prerelease: false
52
- version_requirements: *70148317912160
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.12'
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.12.10
56
+ version: '0'
64
57
  type: :runtime
65
58
  prerelease: false
66
- version_requirements: *70148317911420
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.3'
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.3.0
72
+ version: '0'
78
73
  type: :runtime
79
74
  prerelease: false
80
- version_requirements: *70148317910660
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: &70148317909900 !ruby/object:Gem::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.1.8.2
88
+ version: '0'
92
89
  type: :runtime
93
90
  prerelease: false
94
- version_requirements: *70148317909900
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: '1.20'
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: 1.20.0
104
+ version: '0'
106
105
  type: :runtime
107
106
  prerelease: false
108
- version_requirements: *70148317909160
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: richard@clue.co.za
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
- - .watchr
122
+ - Gemfile
123
+ - Gemfile.lock
124
+ - Guardfile
125
+ - README.md
122
126
  - Rakefile
123
- - tmp/README
124
- - functional/config/boot.rb
125
- - functional/config/daemons.yml
126
- - functional/config/environment.rb
127
- - functional/config/environments/development.rb
128
- - functional/config/environments/production.rb
129
- - functional/config/environments/test.rb
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/adaptor_base.rb
138
- - lib/langrove/client/base.rb
139
- - lib/langrove/client/datagram.rb
140
- - lib/langrove/client_base.rb
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/find.rb
148
- - lib/langrove/ext/persistable.rb
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/ext.rb
165
+ - lib/langrove/handler/README.md
151
166
  - lib/langrove/handler/base.rb
152
- - lib/langrove/handler_base.rb
153
- - lib/langrove/job/base.rb
154
- - lib/langrove/job_base.rb
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/protocol_base.rb
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
- - lib/langrove.rb
160
- - spec/functional/daemon/datagram_spec.rb
161
- - spec/langrove/adaptor_base_spec.rb
162
- - spec/langrove/client/datagram_spec.rb
163
- - spec/langrove/client_base_spec.rb
164
- - spec/langrove/daemon_base_spec.rb
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/find_spec.rb
170
- - spec/langrove/ext/persistable_spec.rb
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/handler_base_spec.rb
173
- - spec/langrove/job_base_spec.rb
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/protocol_base_spec.rb
176
- - spec/todo_spec.rb
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.10
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
@@ -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,13 +0,0 @@
1
- :daemons:
2
- datagram:
3
- :periodic: 5
4
- :protocol:
5
- :class: SocketToFile
6
- :adaptor:
7
- :iface: 127.0.0.1
8
- :port: 12701
9
- :transport: udp
10
- :client:
11
- :class: SocketToFile
12
- :handler:
13
- :collection: Base
@@ -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
@@ -1 +0,0 @@
1
- Certain test write files into here