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.
- checksums.yaml +4 -4
- data/.rubocop.yml +4 -13
- data/Gemfile +0 -1
- data/Gemfile.lock +64 -64
- data/README.md +18 -1
- data/Rakefile +5 -3
- data/bin/kamerling +1 -1
- data/config/reek.yml +20 -3
- data/kamerling.gemspec +16 -13
- data/lib/kamerling.rb +2 -28
- data/lib/kamerling/addr.rb +17 -3
- data/lib/kamerling/client.rb +10 -11
- data/lib/kamerling/core_extensions/main.rb +14 -14
- data/lib/kamerling/dispatch.rb +13 -0
- data/lib/kamerling/handler.rb +16 -25
- data/lib/kamerling/http_api.rb +50 -34
- data/lib/kamerling/logging.rb +36 -16
- data/lib/kamerling/mapper.rb +33 -0
- data/lib/kamerling/message.rb +50 -37
- data/lib/kamerling/migrations/2_results_received_at.rb +7 -0
- data/lib/kamerling/migrations/3_dispatches.rb +17 -0
- data/lib/kamerling/migrations/4_registrations_registered_at.rb +7 -0
- data/lib/kamerling/migrations/5_clients_type.rb +7 -0
- data/lib/kamerling/net_dispatcher.rb +12 -7
- data/lib/kamerling/project.rb +7 -3
- data/lib/kamerling/receiver.rb +38 -10
- data/lib/kamerling/registrar.rb +45 -8
- data/lib/kamerling/registration.rb +9 -10
- data/lib/kamerling/repo.rb +33 -26
- data/lib/kamerling/repos.rb +52 -45
- data/lib/kamerling/result.rb +10 -11
- data/lib/kamerling/server/http.rb +28 -21
- data/lib/kamerling/server/sock.rb +32 -24
- data/lib/kamerling/server/tcp.rb +23 -15
- data/lib/kamerling/server/udp.rb +24 -16
- data/lib/kamerling/server_runner.rb +30 -41
- data/lib/kamerling/settings.rb +28 -0
- data/lib/kamerling/task.rb +7 -7
- data/lib/kamerling/task_dispatcher.rb +31 -22
- data/lib/kamerling/uuid.rb +13 -11
- data/lib/kamerling/uuid_entity.rb +23 -9
- data/lib/kamerling/value.rb +13 -0
- data/lib/kamerling/views/clients.slim +3 -1
- data/lib/kamerling/views/project.slim +8 -4
- data/lib/kamerling/views/projects.slim +7 -1
- data/spec/kamerling/addr_spec.rb +32 -22
- data/spec/kamerling/client_spec.rb +9 -5
- data/spec/kamerling/core_extensions/main_spec.rb +18 -13
- data/spec/kamerling/dispatch_spec.rb +16 -0
- data/spec/kamerling/handler_spec.rb +24 -34
- data/spec/kamerling/http_api_spec.rb +94 -73
- data/spec/kamerling/logging_spec.rb +93 -62
- data/spec/kamerling/mapper_spec.rb +151 -0
- data/spec/kamerling/message_spec.rb +73 -49
- data/spec/kamerling/net_dispatcher_spec.rb +22 -16
- data/spec/kamerling/receiver_spec.rb +29 -19
- data/spec/kamerling/registrar_spec.rb +43 -15
- data/spec/kamerling/registration_spec.rb +17 -0
- data/spec/kamerling/repo_spec.rb +63 -47
- data/spec/kamerling/repos_spec.rb +121 -109
- data/spec/kamerling/result_spec.rb +16 -0
- data/spec/kamerling/server/http_spec.rb +19 -14
- data/spec/kamerling/server/tcp_spec.rb +41 -35
- data/spec/kamerling/server/udp_spec.rb +40 -34
- data/spec/kamerling/server_runner_spec.rb +62 -53
- data/spec/kamerling/settings_spec.rb +36 -0
- data/spec/kamerling/task_dispatcher_spec.rb +38 -15
- data/spec/kamerling/task_spec.rb +9 -5
- data/spec/kamerling/uuid_entity_spec.rb +53 -25
- data/spec/kamerling/uuid_spec.rb +19 -16
- data/spec/kamerling/value_spec.rb +21 -0
- data/spec/spec_helper.rb +3 -6
- metadata +54 -8
- data/lib/kamerling/core_extensions.rb +0 -1
data/spec/kamerling/uuid_spec.rb
CHANGED
@@ -1,24 +1,27 @@
|
|
1
1
|
require_relative '../spec_helper'
|
2
|
+
require_relative '../../lib/kamerling/uuid'
|
2
3
|
|
3
|
-
module Kamerling
|
4
|
-
describe
|
5
|
-
|
6
|
-
|
7
|
-
|
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
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
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
|
18
|
-
args.map { |arg| fake
|
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
|
-
|
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.
|
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-
|
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.
|
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.
|
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.
|
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.
|
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'
|