vedeu 0.0.39 → 0.0.40
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/README.md +0 -30
- data/Rakefile +8 -9
- data/bin/log +13 -0
- data/deps.md +11 -95
- data/lib/vedeu.rb +14 -46
- data/lib/vedeu/application.rb +4 -8
- data/lib/vedeu/instrumentation.rb +111 -0
- data/lib/vedeu/launcher.rb +2 -2
- data/lib/vedeu/models/attributes/interface_collection.rb +2 -2
- data/lib/vedeu/models/attributes/line_collection.rb +2 -2
- data/lib/vedeu/models/attributes/stream_collection.rb +2 -2
- data/lib/vedeu/models/colour.rb +1 -1
- data/lib/vedeu/models/composition.rb +1 -1
- data/lib/vedeu/models/interface.rb +18 -10
- data/lib/vedeu/models/line.rb +3 -3
- data/lib/vedeu/models/presentation.rb +1 -1
- data/lib/vedeu/models/stream.rb +2 -2
- data/lib/vedeu/models/style.rb +1 -1
- data/lib/vedeu/output/render_interface.rb +1 -1
- data/lib/vedeu/{support → parsing}/compositor.rb +1 -1
- data/lib/vedeu/parsing/hash_parser.rb +1 -1
- data/lib/vedeu/parsing/parser.rb +6 -10
- data/lib/vedeu/{models/builders → support}/builder.rb +19 -9
- data/lib/vedeu/support/esc.rb +1 -1
- data/lib/vedeu/support/events.rb +15 -19
- data/lib/vedeu/support/geometry.rb +3 -3
- data/lib/vedeu/{input → support}/input.rb +6 -9
- data/lib/vedeu/support/menu.rb +3 -3
- data/lib/vedeu/support/persistence.rb +41 -0
- data/lib/vedeu/support/terminal.rb +1 -1
- data/test/example_app/lib/app.rb +85 -5
- data/test/lib/vedeu/application_test.rb +2 -2
- data/test/lib/vedeu/configuration_test.rb +2 -2
- data/test/lib/vedeu/launcher_test.rb +2 -2
- data/test/lib/vedeu/models/attributes/collection_test.rb +2 -2
- data/test/lib/vedeu/models/attributes/interface_collection_test.rb +4 -4
- data/test/lib/vedeu/models/attributes/line_collection_test.rb +3 -3
- data/test/lib/vedeu/models/attributes/stream_collection_test.rb +3 -3
- data/test/lib/vedeu/models/colour_test.rb +2 -2
- data/test/lib/vedeu/models/composition_test.rb +19 -19
- data/test/lib/vedeu/models/interface_test.rb +46 -34
- data/test/lib/vedeu/models/line_test.rb +2 -2
- data/test/lib/vedeu/models/presentation_test.rb +2 -2
- data/test/lib/vedeu/models/stream_test.rb +2 -2
- data/test/lib/vedeu/models/style_test.rb +31 -31
- data/test/lib/vedeu/output/clear_interface_test.rb +5 -5
- data/test/lib/vedeu/output/render_interface_test.rb +5 -6
- data/test/lib/vedeu/output/template.rb +2 -1
- data/test/lib/vedeu/{support → parsing}/compositor_test.rb +6 -4
- data/test/lib/vedeu/parsing/hash_parser_test.rb +2 -2
- data/test/lib/vedeu/parsing/json_parser_test.rb +2 -2
- data/test/lib/vedeu/parsing/parser_test.rb +6 -5
- data/test/lib/vedeu/parsing/text_adaptor_test.rb +2 -2
- data/test/lib/vedeu/{models/builders/interface_builder_test.rb → support/builder_test.rb} +10 -10
- data/test/lib/vedeu/support/esc_test.rb +2 -2
- data/test/lib/vedeu/support/events_test.rb +2 -2
- data/test/lib/vedeu/support/geometry_test.rb +2 -2
- data/test/lib/vedeu/{input → support}/input_test.rb +6 -7
- data/test/lib/vedeu/support/menu_test.rb +2 -2
- data/test/lib/vedeu/support/persistence_test.rb +55 -0
- data/test/lib/vedeu/support/queue_test.rb +2 -2
- data/test/lib/vedeu/support/terminal_test.rb +2 -2
- data/test/lib/vedeu/support/translator_test.rb +2 -2
- data/test/lib/vedeu/support/wordwrap_test.rb +2 -2
- data/test/lib/vedeu_test.rb +17 -2
- data/test/support/bench.rb +34 -0
- data/test/test_helper.rb +3 -11
- data/vedeu.gemspec +2 -2
- metadata +20 -44
- data/lib/vedeu/models/builders/command_builder.rb +0 -10
- data/lib/vedeu/models/builders/interface_builder.rb +0 -32
- data/lib/vedeu/models/command.rb +0 -23
- data/lib/vedeu/output/output.rb +0 -14
- data/lib/vedeu/process/process.rb +0 -51
- data/lib/vedeu/repository/command_repository.rb +0 -31
- data/lib/vedeu/repository/interface_repository.rb +0 -31
- data/lib/vedeu/repository/repository.rb +0 -41
- data/lib/vedeu/repository/storage.rb +0 -40
- data/lib/vedeu/support/exit.rb +0 -9
- data/test/lib/vedeu/models/builders/builder_test.rb +0 -11
- data/test/lib/vedeu/models/builders/command_builder_test.rb +0 -16
- data/test/lib/vedeu/models/command_test.rb +0 -40
- data/test/lib/vedeu/output/output_test.rb +0 -19
- data/test/lib/vedeu/process/process_test.rb +0 -71
- data/test/lib/vedeu/repository/command_repository_test.rb +0 -55
- data/test/lib/vedeu/repository/interface_repository_test.rb +0 -67
- data/test/lib/vedeu/repository/repository_test.rb +0 -81
- data/test/lib/vedeu/repository/storage_test.rb +0 -70
- data/test/lib/vedeu/support/exit_test.rb +0 -12
- data/test/support/dummy_command.rb +0 -9
@@ -1,81 +0,0 @@
|
|
1
|
-
require_relative '../../../test_helper'
|
2
|
-
require_relative '../../../../lib/vedeu/repository/repository'
|
3
|
-
|
4
|
-
module Vedeu
|
5
|
-
class Dummy
|
6
|
-
attr_reader :name
|
7
|
-
|
8
|
-
def initialize(attributes = {})
|
9
|
-
@name = attributes.fetch(:name, '')
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
module DummyRepository
|
14
|
-
extend Repository
|
15
|
-
extend self
|
16
|
-
|
17
|
-
def entity
|
18
|
-
Dummy
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
describe Repository do
|
23
|
-
before { DummyRepository.reset }
|
24
|
-
|
25
|
-
describe '#create' do
|
26
|
-
it 'returns a Dummy' do
|
27
|
-
DummyRepository.create({ name: 'dummy' })
|
28
|
-
.must_be_instance_of(Dummy)
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'raises an exception if called directly' do
|
32
|
-
proc { Repository.create({ name: 'test' }) }
|
33
|
-
.must_raise(StandardError)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe '#all' do
|
38
|
-
it 'returns all the stored items' do
|
39
|
-
DummyRepository.all.must_equal([])
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'raises an exception if called directly' do
|
43
|
-
proc { Repository.all }.must_raise(StandardError)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
describe '#query' do
|
48
|
-
it 'finds an entity by attribute' do
|
49
|
-
dumb = DummyRepository.create({ name: 'dummy' })
|
50
|
-
result = DummyRepository.query(:name, 'dummy')
|
51
|
-
result.must_equal(dumb)
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'raises an exception when the entity cannot be found' do
|
55
|
-
proc { DummyRepository.query(:name, 'dumber') }
|
56
|
-
.must_raise(EntityNotFound)
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'raises an exception if called directly' do
|
60
|
-
proc { Repository.query(:name, 'test') }
|
61
|
-
.must_raise(StandardError)
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
describe '#reset' do
|
66
|
-
it 'removes all stored entities' do
|
67
|
-
DummyRepository.reset.must_equal({})
|
68
|
-
end
|
69
|
-
|
70
|
-
it 'raises an exception if called directly' do
|
71
|
-
proc { Repository.reset }.must_raise(StandardError)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
describe '#entity' do
|
76
|
-
it 'raises an exception if called directly' do
|
77
|
-
proc { Repository.entity }.must_raise(StandardError)
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,70 +0,0 @@
|
|
1
|
-
require_relative '../../../test_helper'
|
2
|
-
require_relative '../../../support/dummy_command'
|
3
|
-
require_relative '../../../../lib/vedeu/repository/storage'
|
4
|
-
|
5
|
-
module Vedeu
|
6
|
-
class DummyRecord
|
7
|
-
attr_reader :name
|
8
|
-
|
9
|
-
def initialize(attributes = {})
|
10
|
-
@name = attributes.fetch(:name, '')
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
describe Storage do
|
15
|
-
describe '#create' do
|
16
|
-
it 'returns the stored record' do
|
17
|
-
storage = Storage.new
|
18
|
-
storage.create(DummyRecord, {})
|
19
|
-
.must_be_instance_of(DummyRecord)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe '#reset' do
|
24
|
-
it 'deletes all records for this entity' do
|
25
|
-
storage = Storage.new
|
26
|
-
storage.create(DummyRecord, { name: 'dumb' })
|
27
|
-
storage.create(DummyRecord, { name: 'dumber' })
|
28
|
-
storage.all(DummyRecord).size.must_equal(2)
|
29
|
-
|
30
|
-
storage.reset(DummyRecord).must_equal({})
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
describe '#all' do
|
35
|
-
it 'returns all entity records if an entity is provided' do
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'returns all records if no entity provided' do
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
it 'returns an empty collection when no records were found' do
|
45
|
-
storage = Storage.new
|
46
|
-
storage.all(DummyRecord).must_equal([])
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
describe '#query' do
|
51
|
-
it 'returns the record if found' do
|
52
|
-
storage = Storage.new
|
53
|
-
hydrogen = storage.create(DummyRecord, { name: 'hydrogen' })
|
54
|
-
|
55
|
-
storage.query(DummyRecord, :name, 'hydrogen')
|
56
|
-
.must_be_instance_of(DummyRecord)
|
57
|
-
storage.query(DummyRecord, :name, 'hydrogen')
|
58
|
-
.name.must_equal('hydrogen')
|
59
|
-
end
|
60
|
-
|
61
|
-
it 'returns false if the record is not found' do
|
62
|
-
storage = Storage.new
|
63
|
-
hydrogen = storage.create(DummyRecord, { name: 'hydrogen' })
|
64
|
-
|
65
|
-
storage.query(DummyRecord, :name, nil).must_equal(false)
|
66
|
-
storage.query(DummyRecord, :name, 'lithium').must_equal(false)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require_relative '../../../test_helper'
|
2
|
-
require_relative '../../../../lib/vedeu/support/exit'
|
3
|
-
|
4
|
-
module Vedeu
|
5
|
-
describe Exit do
|
6
|
-
describe '.dispatch' do
|
7
|
-
it 'halts execution' do
|
8
|
-
proc { Exit.dispatch }.must_raise(StopIteration)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|