kamerling 0.0.2 → 0.0.3

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.
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'