kamerling 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -13
  3. data/Gemfile +0 -1
  4. data/Gemfile.lock +64 -64
  5. data/README.md +18 -1
  6. data/Rakefile +5 -3
  7. data/bin/kamerling +1 -1
  8. data/config/reek.yml +20 -3
  9. data/kamerling.gemspec +16 -13
  10. data/lib/kamerling.rb +2 -28
  11. data/lib/kamerling/addr.rb +17 -3
  12. data/lib/kamerling/client.rb +10 -11
  13. data/lib/kamerling/core_extensions/main.rb +14 -14
  14. data/lib/kamerling/dispatch.rb +13 -0
  15. data/lib/kamerling/handler.rb +16 -25
  16. data/lib/kamerling/http_api.rb +50 -34
  17. data/lib/kamerling/logging.rb +36 -16
  18. data/lib/kamerling/mapper.rb +33 -0
  19. data/lib/kamerling/message.rb +50 -37
  20. data/lib/kamerling/migrations/2_results_received_at.rb +7 -0
  21. data/lib/kamerling/migrations/3_dispatches.rb +17 -0
  22. data/lib/kamerling/migrations/4_registrations_registered_at.rb +7 -0
  23. data/lib/kamerling/migrations/5_clients_type.rb +7 -0
  24. data/lib/kamerling/net_dispatcher.rb +12 -7
  25. data/lib/kamerling/project.rb +7 -3
  26. data/lib/kamerling/receiver.rb +38 -10
  27. data/lib/kamerling/registrar.rb +45 -8
  28. data/lib/kamerling/registration.rb +9 -10
  29. data/lib/kamerling/repo.rb +33 -26
  30. data/lib/kamerling/repos.rb +52 -45
  31. data/lib/kamerling/result.rb +10 -11
  32. data/lib/kamerling/server/http.rb +28 -21
  33. data/lib/kamerling/server/sock.rb +32 -24
  34. data/lib/kamerling/server/tcp.rb +23 -15
  35. data/lib/kamerling/server/udp.rb +24 -16
  36. data/lib/kamerling/server_runner.rb +30 -41
  37. data/lib/kamerling/settings.rb +28 -0
  38. data/lib/kamerling/task.rb +7 -7
  39. data/lib/kamerling/task_dispatcher.rb +31 -22
  40. data/lib/kamerling/uuid.rb +13 -11
  41. data/lib/kamerling/uuid_entity.rb +23 -9
  42. data/lib/kamerling/value.rb +13 -0
  43. data/lib/kamerling/views/clients.slim +3 -1
  44. data/lib/kamerling/views/project.slim +8 -4
  45. data/lib/kamerling/views/projects.slim +7 -1
  46. data/spec/kamerling/addr_spec.rb +32 -22
  47. data/spec/kamerling/client_spec.rb +9 -5
  48. data/spec/kamerling/core_extensions/main_spec.rb +18 -13
  49. data/spec/kamerling/dispatch_spec.rb +16 -0
  50. data/spec/kamerling/handler_spec.rb +24 -34
  51. data/spec/kamerling/http_api_spec.rb +94 -73
  52. data/spec/kamerling/logging_spec.rb +93 -62
  53. data/spec/kamerling/mapper_spec.rb +151 -0
  54. data/spec/kamerling/message_spec.rb +73 -49
  55. data/spec/kamerling/net_dispatcher_spec.rb +22 -16
  56. data/spec/kamerling/receiver_spec.rb +29 -19
  57. data/spec/kamerling/registrar_spec.rb +43 -15
  58. data/spec/kamerling/registration_spec.rb +17 -0
  59. data/spec/kamerling/repo_spec.rb +63 -47
  60. data/spec/kamerling/repos_spec.rb +121 -109
  61. data/spec/kamerling/result_spec.rb +16 -0
  62. data/spec/kamerling/server/http_spec.rb +19 -14
  63. data/spec/kamerling/server/tcp_spec.rb +41 -35
  64. data/spec/kamerling/server/udp_spec.rb +40 -34
  65. data/spec/kamerling/server_runner_spec.rb +62 -53
  66. data/spec/kamerling/settings_spec.rb +36 -0
  67. data/spec/kamerling/task_dispatcher_spec.rb +38 -15
  68. data/spec/kamerling/task_spec.rb +9 -5
  69. data/spec/kamerling/uuid_entity_spec.rb +53 -25
  70. data/spec/kamerling/uuid_spec.rb +19 -16
  71. data/spec/kamerling/value_spec.rb +21 -0
  72. data/spec/spec_helper.rb +3 -6
  73. metadata +54 -8
  74. data/lib/kamerling/core_extensions.rb +0 -1
@@ -1,24 +1,27 @@
1
1
  require_relative '../spec_helper'
2
+ require_relative '../../lib/kamerling/uuid'
2
3
 
3
- module Kamerling describe UUID do
4
- describe '.[]' do
5
- it 'creates a normal UUID representation from binary data' do
6
- uuid = '31364220-7072-6f6a-6563-742055554944'
7
- UUID['16B project UUID'].must_equal uuid
4
+ module Kamerling
5
+ describe UUID do
6
+ describe '.[]' do
7
+ it 'creates a normal UUID representation from binary data' do
8
+ uuid = '31364220-7072-6f6a-6563-742055554944'
9
+ UUID['16B project UUID'].must_equal uuid
10
+ end
8
11
  end
9
- end
10
12
 
11
- describe '.bin' do
12
- it 'returns the binary representation of an UUID' do
13
- UUID.bin('31364220-7072-6f6a-6563-742055554944')
14
- .must_equal '16B project UUID'
13
+ describe '.bin' do
14
+ it 'returns the binary representation of an UUID' do
15
+ UUID.bin('31364220-7072-6f6a-6563-742055554944')
16
+ .must_equal '16B project UUID'
17
+ end
15
18
  end
16
- end
17
19
 
18
- describe '.new' do
19
- it 'creates a new random UUID' do
20
- UUID.new.must_match(/\A\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/)
21
- UUID.new.wont_equal UUID.new
20
+ describe '.new' do
21
+ it 'creates a new random UUID' do
22
+ UUID.new.must_match(/\A\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/)
23
+ UUID.new.wont_equal UUID.new
24
+ end
22
25
  end
23
26
  end
24
- end end
27
+ end
@@ -0,0 +1,21 @@
1
+ require_relative '../spec_helper'
2
+ require_relative '../../lib/kamerling/value'
3
+
4
+ module Kamerling
5
+ describe Value do
6
+ describe '.new' do
7
+ it 'creates a class with value semantics' do
8
+ address = Class.new(Value) { vals street: String }
9
+ address.new(street: 'Folsom').must_equal address.new(street: 'Folsom')
10
+ address.new(street: 'Folsom').wont_equal address.new(street: 'Fair')
11
+ end
12
+ end
13
+
14
+ describe '.vals' do
15
+ it 'allows defining values in a key → class manner' do
16
+ address = Class.new(Value) { vals street: String, country: String }
17
+ address.attribute_set.map(&:name).must_equal %i(street country)
18
+ end
19
+ end
20
+ end
21
+ end
data/spec/spec_helper.rb CHANGED
@@ -3,7 +3,6 @@ require 'minitest/autorun'
3
3
  require 'minitest/focus'
4
4
  require 'minitest/pride'
5
5
  require 'bogus/minitest/spec'
6
- require 'net/http'
7
6
  require 'rack/test'
8
7
  require 'kamerling'
9
8
 
@@ -14,15 +13,13 @@ module Minitest
14
13
  include Rack::Test::Methods
15
14
 
16
15
  module DSL
17
- def fakes *args
18
- args.map { |arg| fake arg }
16
+ def fakes(*args)
17
+ args.map { |arg| fake(arg) }
19
18
  end
20
19
  end
21
20
  end
22
21
  end
23
22
 
24
- Thread.abort_on_exception = true
25
-
26
23
  def run_all_threads
27
- sleep 0.001
24
+ 2.times { Thread.list.each(&:run) }
28
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kamerling
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Szotkowski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-24 00:00:00.000000000 Z
11
+ date: 2014-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: after_do
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.3.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: equalizer
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.9
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.9
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: sequel
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +164,20 @@ dependencies:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
166
  version: '1.6'
167
+ - !ruby/object:Gem::Dependency
168
+ name: pry
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 0.10.0
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 0.10.0
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: rack-test
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -198,28 +226,28 @@ dependencies:
198
226
  requirements:
199
227
  - - "~>"
200
228
  - !ruby/object:Gem::Version
201
- version: 0.9.0
229
+ version: 0.10.0
202
230
  type: :development
203
231
  prerelease: false
204
232
  version_requirements: !ruby/object:Gem::Requirement
205
233
  requirements:
206
234
  - - "~>"
207
235
  - !ruby/object:Gem::Version
208
- version: 0.9.0
236
+ version: 0.10.0
209
237
  - !ruby/object:Gem::Dependency
210
238
  name: rubocop
211
239
  requirement: !ruby/object:Gem::Requirement
212
240
  requirements:
213
241
  - - "~>"
214
242
  - !ruby/object:Gem::Version
215
- version: 0.19.0
243
+ version: 0.27.0
216
244
  type: :development
217
245
  prerelease: false
218
246
  version_requirements: !ruby/object:Gem::Requirement
219
247
  requirements:
220
248
  - - "~>"
221
249
  - !ruby/object:Gem::Version
222
- version: 0.19.0
250
+ version: 0.27.0
223
251
  description: A network server for distributing computations across different clients
224
252
  speaking TCP or UDP.
225
253
  email: p.szotkowski@tele.pw.edu.pl
@@ -241,13 +269,18 @@ files:
241
269
  - lib/kamerling.rb
242
270
  - lib/kamerling/addr.rb
243
271
  - lib/kamerling/client.rb
244
- - lib/kamerling/core_extensions.rb
245
272
  - lib/kamerling/core_extensions/main.rb
273
+ - lib/kamerling/dispatch.rb
246
274
  - lib/kamerling/handler.rb
247
275
  - lib/kamerling/http_api.rb
248
276
  - lib/kamerling/logging.rb
277
+ - lib/kamerling/mapper.rb
249
278
  - lib/kamerling/message.rb
250
279
  - lib/kamerling/migrations/1_basic_schema.rb
280
+ - lib/kamerling/migrations/2_results_received_at.rb
281
+ - lib/kamerling/migrations/3_dispatches.rb
282
+ - lib/kamerling/migrations/4_registrations_registered_at.rb
283
+ - lib/kamerling/migrations/5_clients_type.rb
251
284
  - lib/kamerling/net_dispatcher.rb
252
285
  - lib/kamerling/project.rb
253
286
  - lib/kamerling/receiver.rb
@@ -261,10 +294,12 @@ files:
261
294
  - lib/kamerling/server/tcp.rb
262
295
  - lib/kamerling/server/udp.rb
263
296
  - lib/kamerling/server_runner.rb
297
+ - lib/kamerling/settings.rb
264
298
  - lib/kamerling/task.rb
265
299
  - lib/kamerling/task_dispatcher.rb
266
300
  - lib/kamerling/uuid.rb
267
301
  - lib/kamerling/uuid_entity.rb
302
+ - lib/kamerling/value.rb
268
303
  - lib/kamerling/views/clients.slim
269
304
  - lib/kamerling/views/layout.slim
270
305
  - lib/kamerling/views/project.slim
@@ -273,23 +308,29 @@ files:
273
308
  - spec/kamerling/addr_spec.rb
274
309
  - spec/kamerling/client_spec.rb
275
310
  - spec/kamerling/core_extensions/main_spec.rb
311
+ - spec/kamerling/dispatch_spec.rb
276
312
  - spec/kamerling/handler_spec.rb
277
313
  - spec/kamerling/http_api_spec.rb
278
314
  - spec/kamerling/logging_spec.rb
315
+ - spec/kamerling/mapper_spec.rb
279
316
  - spec/kamerling/message_spec.rb
280
317
  - spec/kamerling/net_dispatcher_spec.rb
281
318
  - spec/kamerling/receiver_spec.rb
282
319
  - spec/kamerling/registrar_spec.rb
320
+ - spec/kamerling/registration_spec.rb
283
321
  - spec/kamerling/repo_spec.rb
284
322
  - spec/kamerling/repos_spec.rb
323
+ - spec/kamerling/result_spec.rb
285
324
  - spec/kamerling/server/http_spec.rb
286
325
  - spec/kamerling/server/tcp_spec.rb
287
326
  - spec/kamerling/server/udp_spec.rb
288
327
  - spec/kamerling/server_runner_spec.rb
328
+ - spec/kamerling/settings_spec.rb
289
329
  - spec/kamerling/task_dispatcher_spec.rb
290
330
  - spec/kamerling/task_spec.rb
291
331
  - spec/kamerling/uuid_entity_spec.rb
292
332
  - spec/kamerling/uuid_spec.rb
333
+ - spec/kamerling/value_spec.rb
293
334
  - spec/spec_helper.rb
294
335
  homepage: https://github.com/chastell/kamerling
295
336
  licenses:
@@ -319,22 +360,27 @@ test_files:
319
360
  - spec/kamerling/addr_spec.rb
320
361
  - spec/kamerling/client_spec.rb
321
362
  - spec/kamerling/core_extensions/main_spec.rb
363
+ - spec/kamerling/dispatch_spec.rb
322
364
  - spec/kamerling/handler_spec.rb
323
365
  - spec/kamerling/http_api_spec.rb
324
366
  - spec/kamerling/logging_spec.rb
367
+ - spec/kamerling/mapper_spec.rb
325
368
  - spec/kamerling/message_spec.rb
326
369
  - spec/kamerling/net_dispatcher_spec.rb
327
370
  - spec/kamerling/receiver_spec.rb
328
371
  - spec/kamerling/registrar_spec.rb
372
+ - spec/kamerling/registration_spec.rb
329
373
  - spec/kamerling/repo_spec.rb
330
374
  - spec/kamerling/repos_spec.rb
375
+ - spec/kamerling/result_spec.rb
331
376
  - spec/kamerling/server/http_spec.rb
332
377
  - spec/kamerling/server/tcp_spec.rb
333
378
  - spec/kamerling/server/udp_spec.rb
334
379
  - spec/kamerling/server_runner_spec.rb
380
+ - spec/kamerling/settings_spec.rb
335
381
  - spec/kamerling/task_dispatcher_spec.rb
336
382
  - spec/kamerling/task_spec.rb
337
383
  - spec/kamerling/uuid_entity_spec.rb
338
384
  - spec/kamerling/uuid_spec.rb
385
+ - spec/kamerling/value_spec.rb
339
386
  - spec/spec_helper.rb
340
- has_rdoc:
@@ -1 +0,0 @@
1
- require_relative 'core_extensions/main'