vedeu 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vedeu/api/base.rb +11 -2
- data/lib/vedeu/api/grid.rb +56 -0
- data/lib/vedeu/api/interface.rb +1 -0
- data/lib/vedeu/api/line.rb +9 -8
- data/lib/vedeu/api/stream.rb +8 -0
- data/lib/vedeu/api/view.rb +8 -0
- data/lib/vedeu/output/dsl_parser.rb +19 -0
- data/lib/vedeu/output/render_interface.rb +15 -17
- data/lib/vedeu/output/view.rb +2 -0
- data/test/lib/vedeu/api/grid_test.rb +23 -0
- data/test/lib/vedeu/api/view_test.rb +118 -25
- data/test/lib/vedeu/application_test.rb +3 -0
- data/test/lib/vedeu/output/dsl_parser_test.rb +19 -0
- data/test/lib/vedeu/output/render_interface_test.rb +51 -2
- data/test/lib/vedeu/support/helpers_test.rb +0 -4
- data/test/lib/vedeu_test.rb +0 -3
- data/vedeu.gemspec +1 -1
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19ee0e20e445eeee950b4aaf5be06d25b6e7f5ad
|
4
|
+
data.tar.gz: f9dbeb37f02a0491376d1f1ad2e94abbf37c2548
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f848ddbd4480fd75e76a8a6f4dcef666eaacd4b7de53e9dd8e4b76ce37ca51909436898d1c41d6e159d2c7afde9a4414d6b65dd1c10f57a3416a6fdf8e010814
|
7
|
+
data.tar.gz: 96a133c336ccca5f5aa84414aa766f2c5b7666103feabe328de3c9166cda1cba7e13c4f92166025cd4ffa198d5fad9430c98c2bf7f11c161e37f6e29940e9a78
|
data/lib/vedeu/api/base.rb
CHANGED
@@ -8,12 +8,15 @@ module Vedeu
|
|
8
8
|
def initialize(attributes, &block)
|
9
9
|
@attributes = attributes
|
10
10
|
|
11
|
-
self.
|
11
|
+
@self_before_instance_eval = eval 'self', block.binding
|
12
|
+
|
13
|
+
self.instance_eval(&block)
|
12
14
|
end
|
13
15
|
|
14
16
|
def colour(*args)
|
15
17
|
if args.is_a?(Array) && args.size == 2
|
16
|
-
attributes[:colour] = { background: args.first,
|
18
|
+
attributes[:colour] = { background: args.first,
|
19
|
+
foreground: args.last }
|
17
20
|
|
18
21
|
elsif args.is_a?(Array) && args.size == 1 && args.first.is_a?(Hash)
|
19
22
|
attributes[:colour] = args.first
|
@@ -31,6 +34,12 @@ module Vedeu
|
|
31
34
|
[values].flatten.each { |value| attributes[:style] << value }
|
32
35
|
end
|
33
36
|
end
|
37
|
+
|
38
|
+
# :nocov:
|
39
|
+
def method_missing(method, *args, &block)
|
40
|
+
@self_before_instance_eval.send method, *args, &block
|
41
|
+
end
|
42
|
+
# :nocov
|
34
43
|
end
|
35
44
|
end
|
36
45
|
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'vedeu/support/terminal'
|
2
|
+
|
3
|
+
class Fixnum
|
4
|
+
# Augment Fixnum to calculate column width in a grid-based layout.
|
5
|
+
#
|
6
|
+
# The grid system splits the terminal width into 12 equal parts, by dividing
|
7
|
+
# the available width by 12. If the terminal width is not a multiple of 12,
|
8
|
+
# then Grid chooses the maximum value which will fit.
|
9
|
+
#
|
10
|
+
# Used primarily at interface creation time:
|
11
|
+
#
|
12
|
+
# width: 9.columns # (Terminal width / 12) * 9 characters wide; e.g.
|
13
|
+
# # Terminal is 92 characters wide, maximum value is
|
14
|
+
# # therefore 84, meaning a column is 7 characters wide.
|
15
|
+
def columns
|
16
|
+
Vedeu::API::Grid.columns(self)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
module Vedeu
|
21
|
+
module API
|
22
|
+
OutOfRange = Class.new(StandardError)
|
23
|
+
|
24
|
+
class Grid
|
25
|
+
def self.columns(value)
|
26
|
+
new(value).columns
|
27
|
+
end
|
28
|
+
|
29
|
+
def initialize(value)
|
30
|
+
@value = value
|
31
|
+
end
|
32
|
+
|
33
|
+
def columns
|
34
|
+
fail OutOfRange, 'Valid range is 1..12.' if out_of_range?
|
35
|
+
|
36
|
+
column * value
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
attr_reader :value
|
42
|
+
|
43
|
+
def column
|
44
|
+
actual / 12
|
45
|
+
end
|
46
|
+
|
47
|
+
def actual
|
48
|
+
Terminal.width
|
49
|
+
end
|
50
|
+
|
51
|
+
def out_of_range?
|
52
|
+
value < 1 || value > 12
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
data/lib/vedeu/api/interface.rb
CHANGED
data/lib/vedeu/api/line.rb
CHANGED
@@ -8,11 +8,6 @@ module Vedeu
|
|
8
8
|
attributes
|
9
9
|
end
|
10
10
|
|
11
|
-
def width(value)
|
12
|
-
#attributes[:streams][:width] = value
|
13
|
-
#attributes[:streams] << API::Stream.build({ width: value })
|
14
|
-
end
|
15
|
-
|
16
11
|
def align(value)
|
17
12
|
attributes[:align] = value
|
18
13
|
end
|
@@ -26,15 +21,21 @@ module Vedeu
|
|
26
21
|
end
|
27
22
|
|
28
23
|
def foreground(value = '', &block)
|
29
|
-
attributes[:streams] << API::Stream.build({
|
24
|
+
attributes[:streams] << API::Stream.build({
|
25
|
+
colour: { foreground: value }
|
26
|
+
}, &block)
|
30
27
|
end
|
31
28
|
|
32
29
|
def background(value = '', &block)
|
33
|
-
attributes[:streams] << API::Stream.build({
|
30
|
+
attributes[:streams] << API::Stream.build({
|
31
|
+
colour: { background: value }
|
32
|
+
}, &block)
|
34
33
|
end
|
35
34
|
|
36
35
|
def attributes
|
37
|
-
@_attributes ||= { colour:
|
36
|
+
@_attributes ||= { colour: {},
|
37
|
+
style: [],
|
38
|
+
streams: [] }.merge!(@attributes)
|
38
39
|
end
|
39
40
|
end
|
40
41
|
end
|
data/lib/vedeu/api/stream.rb
CHANGED
@@ -7,10 +7,18 @@ module Vedeu
|
|
7
7
|
attributes
|
8
8
|
end
|
9
9
|
|
10
|
+
def align(value)
|
11
|
+
attributes[:align] = value
|
12
|
+
end
|
13
|
+
|
10
14
|
def text(value)
|
11
15
|
attributes[:text] = value
|
12
16
|
end
|
13
17
|
|
18
|
+
def width(value)
|
19
|
+
attributes[:width] = value
|
20
|
+
end
|
21
|
+
|
14
22
|
def attributes
|
15
23
|
@_attributes ||= { colour: {}, style: [], text: '' }.merge!(@attributes)
|
16
24
|
end
|
data/lib/vedeu/api/view.rb
CHANGED
@@ -18,6 +18,8 @@ module Vedeu
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def build(&block)
|
21
|
+
@self_before_instance_eval = eval 'self', block.binding
|
22
|
+
|
21
23
|
self.instance_eval(&block) if block_given?
|
22
24
|
|
23
25
|
attributes
|
@@ -34,6 +36,12 @@ module Vedeu
|
|
34
36
|
def name
|
35
37
|
return @name if InterfaceStore.query(@name)
|
36
38
|
end
|
39
|
+
|
40
|
+
# :nocov:
|
41
|
+
def method_missing(method, *args, &block)
|
42
|
+
@self_before_instance_eval.send method, *args, &block
|
43
|
+
end
|
44
|
+
# :nocov
|
37
45
|
end
|
38
46
|
end
|
39
47
|
end
|
@@ -24,31 +24,29 @@ module Vedeu
|
|
24
24
|
attr_reader :interface
|
25
25
|
|
26
26
|
def processed_lines
|
27
|
-
|
28
|
-
if line.streams.any?
|
29
|
-
processed_streams = []
|
30
|
-
line_length = 0
|
31
|
-
line.streams.each do |stream|
|
32
|
-
next if stream.text.empty?
|
27
|
+
return [] unless lines.any? { |line| line.streams.any? }
|
33
28
|
|
34
|
-
|
35
|
-
|
29
|
+
lines.map do |line|
|
30
|
+
line_length = 0
|
31
|
+
streams = line.streams.inject([]) do |processed, stream|
|
32
|
+
next if stream.text.empty?
|
36
33
|
|
37
|
-
|
38
|
-
|
34
|
+
if (line_length += stream.text.size) >= width
|
35
|
+
remainder = width - line_length
|
36
|
+
|
37
|
+
processed << Stream.new(text: truncate(stream.text, remainder),
|
39
38
|
style: stream.style,
|
40
39
|
colour: stream.colour)
|
41
40
|
|
42
|
-
|
43
|
-
|
41
|
+
else
|
42
|
+
processed << stream
|
44
43
|
|
45
|
-
end
|
46
44
|
end
|
47
|
-
|
48
|
-
Line.new(streams: processed_streams,
|
49
|
-
style: line.style,
|
50
|
-
colour: line.colour)
|
51
45
|
end
|
46
|
+
|
47
|
+
Line.new(streams: streams,
|
48
|
+
style: line.style,
|
49
|
+
colour: line.colour)
|
52
50
|
end
|
53
51
|
end
|
54
52
|
|
data/lib/vedeu/output/view.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'vedeu/models/composition'
|
2
|
+
require 'vedeu/output/dsl_parser'
|
2
3
|
require 'vedeu/output/erb_parser'
|
3
4
|
require 'vedeu/output/raw_parser'
|
4
5
|
require 'vedeu/output/json_parser'
|
@@ -29,6 +30,7 @@ module Vedeu
|
|
29
30
|
|
30
31
|
def parser
|
31
32
|
{
|
33
|
+
dsl: DSLParser,
|
32
34
|
erb: ERBParser,
|
33
35
|
json: JSONParser,
|
34
36
|
hash: RawParser,
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
require 'vedeu/api/grid'
|
4
|
+
|
5
|
+
module Vedeu
|
6
|
+
module API
|
7
|
+
describe Grid do
|
8
|
+
it 'raises an exception if the value is less than 1' do
|
9
|
+
proc { Grid.columns(0) }.must_raise(OutOfRange)
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'raises an exception if the value is greater than 12' do
|
13
|
+
proc { Grid.columns(13) }.must_raise(OutOfRange)
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'returns the width if the value is in range' do
|
17
|
+
IO.console.stub :winsize, [25, 80] do
|
18
|
+
Grid.columns(7).must_equal(42)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -9,8 +9,6 @@ module Vedeu
|
|
9
9
|
before do
|
10
10
|
InterfaceStore.reset
|
11
11
|
Interface.save('testing_view') do
|
12
|
-
width 80
|
13
|
-
height 25
|
14
12
|
x 1
|
15
13
|
y 1
|
16
14
|
colour foreground: '#ffffff', background: '#000000'
|
@@ -387,11 +385,12 @@ module Vedeu
|
|
387
385
|
end
|
388
386
|
|
389
387
|
it 'handles alignment' do
|
390
|
-
skip
|
391
388
|
Vedeu.view 'testing_view' do
|
392
389
|
line do
|
393
|
-
|
394
|
-
|
390
|
+
stream do
|
391
|
+
width 80
|
392
|
+
text 'This is aligned left, and padded with spaces.'
|
393
|
+
end
|
395
394
|
end
|
396
395
|
end.must_equal(
|
397
396
|
{
|
@@ -400,8 +399,10 @@ module Vedeu
|
|
400
399
|
colour: {},
|
401
400
|
style: [],
|
402
401
|
streams: [{
|
403
|
-
|
404
|
-
|
402
|
+
colour: {},
|
403
|
+
style: [],
|
404
|
+
width: 80,
|
405
|
+
text: 'This is aligned left, and padded with spaces.'
|
405
406
|
}]
|
406
407
|
}]
|
407
408
|
}
|
@@ -412,18 +413,24 @@ module Vedeu
|
|
412
413
|
skip
|
413
414
|
Vedeu.view 'testing_view' do
|
414
415
|
line do
|
415
|
-
|
416
|
-
|
417
|
-
|
416
|
+
stream do
|
417
|
+
width 80
|
418
|
+
align :left # explicit
|
419
|
+
text 'This is aligned left, and padded with spaces.'
|
420
|
+
end
|
418
421
|
end
|
419
422
|
end.must_equal(
|
420
423
|
{
|
421
424
|
name: 'testing_view',
|
422
425
|
lines: [{
|
426
|
+
colour: {},
|
427
|
+
style: [],
|
423
428
|
streams: [{
|
424
|
-
|
425
|
-
|
426
|
-
|
429
|
+
colour: {},
|
430
|
+
style: [],
|
431
|
+
width: 80,
|
432
|
+
align: :left,
|
433
|
+
text: 'This is aligned left, and padded with spaces.'
|
427
434
|
}]
|
428
435
|
}]
|
429
436
|
}
|
@@ -434,18 +441,24 @@ module Vedeu
|
|
434
441
|
skip
|
435
442
|
Vedeu.view 'testing_view' do
|
436
443
|
line do
|
437
|
-
|
438
|
-
|
439
|
-
|
444
|
+
stream do
|
445
|
+
width 80
|
446
|
+
align :centre
|
447
|
+
text 'This is aligned centrally, and padded with spaces.'
|
448
|
+
end
|
440
449
|
end
|
441
450
|
end.must_equal(
|
442
451
|
{
|
443
452
|
name: 'testing_view',
|
444
453
|
lines: [{
|
454
|
+
colour: {},
|
455
|
+
style: [],
|
445
456
|
streams: [{
|
446
|
-
|
447
|
-
|
448
|
-
|
457
|
+
colour: {},
|
458
|
+
style: [],
|
459
|
+
width: 80,
|
460
|
+
align: :centre,
|
461
|
+
text: 'This is aligned right, and padded with spaces.'
|
449
462
|
}]
|
450
463
|
}]
|
451
464
|
}
|
@@ -456,23 +469,103 @@ module Vedeu
|
|
456
469
|
skip
|
457
470
|
Vedeu.view 'testing_view' do
|
458
471
|
line do
|
459
|
-
|
460
|
-
|
461
|
-
|
472
|
+
stream do
|
473
|
+
width 80
|
474
|
+
align :right
|
475
|
+
text 'This is aligned right, and padded with spaces.'
|
476
|
+
end
|
462
477
|
end
|
463
478
|
end.must_equal(
|
464
479
|
{
|
465
480
|
name: 'testing_view',
|
466
481
|
lines: [{
|
482
|
+
colour: {},
|
483
|
+
style: [],
|
467
484
|
streams: [{
|
468
|
-
|
469
|
-
|
470
|
-
|
485
|
+
colour: {},
|
486
|
+
style: [],
|
487
|
+
width: 80,
|
488
|
+
align: :right,
|
489
|
+
text: 'This is aligned right, and padded with spaces.'
|
471
490
|
}]
|
472
491
|
}]
|
473
492
|
}
|
474
493
|
)
|
475
494
|
end
|
495
|
+
|
496
|
+
it 'handles multiple colour and text statements correctly' do
|
497
|
+
Vedeu.view 'testing_view' do
|
498
|
+
line do
|
499
|
+
foreground('#ffff00') { text "\u{25B2}" }
|
500
|
+
text " Prev"
|
501
|
+
|
502
|
+
foreground('#ffff00') { text "\u{25BC}" }
|
503
|
+
text " Next"
|
504
|
+
|
505
|
+
foreground('#ffff00') { text "\u{21B2}" }
|
506
|
+
text " Select"
|
507
|
+
|
508
|
+
foreground('#ffff00') { text "\u{2395}" }
|
509
|
+
text " Pause"
|
510
|
+
|
511
|
+
foreground('#ffff00') { text "Q" }
|
512
|
+
text " Quit"
|
513
|
+
end
|
514
|
+
end.must_equal(
|
515
|
+
{
|
516
|
+
name: 'testing_view',
|
517
|
+
lines: [
|
518
|
+
{
|
519
|
+
colour: {},
|
520
|
+
style: [],
|
521
|
+
streams: [
|
522
|
+
{
|
523
|
+
colour: {
|
524
|
+
foreground: "#ffff00"
|
525
|
+
},
|
526
|
+
style: [],
|
527
|
+
text: "▲"
|
528
|
+
}, {
|
529
|
+
text: " Prev"
|
530
|
+
}, {
|
531
|
+
colour: {
|
532
|
+
foreground: "#ffff00"
|
533
|
+
},
|
534
|
+
style: [],
|
535
|
+
text: "▼"
|
536
|
+
}, {
|
537
|
+
text: " Next"
|
538
|
+
}, {
|
539
|
+
colour: {
|
540
|
+
foreground: "#ffff00"
|
541
|
+
},
|
542
|
+
style: [],
|
543
|
+
text: "↲"
|
544
|
+
}, {
|
545
|
+
text: " Select"
|
546
|
+
}, {
|
547
|
+
colour: {
|
548
|
+
foreground: "#ffff00"
|
549
|
+
},
|
550
|
+
style: [],
|
551
|
+
text: "⎕"
|
552
|
+
}, {
|
553
|
+
text: " Pause"
|
554
|
+
}, {
|
555
|
+
colour: {
|
556
|
+
foreground: "#ffff00"
|
557
|
+
},
|
558
|
+
style: [],
|
559
|
+
text: "Q"
|
560
|
+
}, {
|
561
|
+
text: " Quit"
|
562
|
+
}
|
563
|
+
]
|
564
|
+
}
|
565
|
+
]
|
566
|
+
}
|
567
|
+
)
|
568
|
+
end
|
476
569
|
end
|
477
570
|
end
|
478
571
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
require 'vedeu/output/dsl_parser'
|
4
|
+
|
5
|
+
module Vedeu
|
6
|
+
describe DSLParser do
|
7
|
+
it 'returns attributes suitable for Composition' do
|
8
|
+
DSLParser.parse({ name: 'dummy' }).must_equal(
|
9
|
+
{
|
10
|
+
interfaces: [
|
11
|
+
{
|
12
|
+
name: 'dummy'
|
13
|
+
}
|
14
|
+
]
|
15
|
+
}
|
16
|
+
)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -10,12 +10,12 @@ module Vedeu
|
|
10
10
|
describe '.call' do
|
11
11
|
it 'returns the content for the interface' do
|
12
12
|
interface = Interface.new({
|
13
|
-
name:
|
13
|
+
name: '.call',
|
14
14
|
geometry: {
|
15
15
|
width: 32,
|
16
16
|
height: 3,
|
17
17
|
},
|
18
|
-
lines:
|
18
|
+
lines: [
|
19
19
|
{
|
20
20
|
streams: [{ text: 'this is the first' }]
|
21
21
|
}, {
|
@@ -40,6 +40,55 @@ module Vedeu
|
|
40
40
|
"\e[3;1Hthis is the third, it is even lo"
|
41
41
|
)
|
42
42
|
end
|
43
|
+
|
44
|
+
it 'returns a blank interface if there are no streams of text' do
|
45
|
+
interface = Interface.new({
|
46
|
+
name: '.call',
|
47
|
+
geometry: {
|
48
|
+
width: 32,
|
49
|
+
height: 3,
|
50
|
+
},
|
51
|
+
lines: []
|
52
|
+
})
|
53
|
+
RenderInterface.call(interface).must_equal(
|
54
|
+
"\e[1;1H \e[1;1H" \
|
55
|
+
"\e[2;1H \e[2;1H" \
|
56
|
+
"\e[3;1H \e[3;1H"
|
57
|
+
)
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'skips lines which have streams with no content' do
|
61
|
+
interface = Interface.new({
|
62
|
+
name: '.call',
|
63
|
+
geometry: {
|
64
|
+
width: 32,
|
65
|
+
height: 3,
|
66
|
+
},
|
67
|
+
lines: [
|
68
|
+
{
|
69
|
+
streams: [{ text: 'this is the first' }]
|
70
|
+
}, {
|
71
|
+
streams: { text: '' }
|
72
|
+
}, {
|
73
|
+
streams: [
|
74
|
+
{ text: 'this is the third, ' },
|
75
|
+
{ text: 'it is even longer ' },
|
76
|
+
{ text: 'and still truncated' }
|
77
|
+
]
|
78
|
+
}, {
|
79
|
+
streams: [{ text: 'this should not render' }]
|
80
|
+
}
|
81
|
+
]
|
82
|
+
})
|
83
|
+
RenderInterface.call(interface).must_equal(
|
84
|
+
"\e[1;1H \e[1;1H" \
|
85
|
+
"\e[2;1H \e[2;1H" \
|
86
|
+
"\e[3;1H \e[3;1H" \
|
87
|
+
"\e[1;1Hthis is the first" \
|
88
|
+
"\e[2;1H" \
|
89
|
+
"\e[3;1Hthis is the third, it is even lo"
|
90
|
+
)
|
91
|
+
end
|
43
92
|
end
|
44
93
|
end
|
45
94
|
end
|
@@ -16,8 +16,6 @@ module Vedeu
|
|
16
16
|
describe '.foreground' do
|
17
17
|
it 'returns an escape sequence for the specified CSS foreground' do
|
18
18
|
TestHelpers.new.foreground('#a5f500').must_equal("\e[38;5;148m")
|
19
|
-
|
20
|
-
TestHelpers.new.fg('#851500').must_equal("\e[38;5;88m")
|
21
19
|
end
|
22
20
|
|
23
21
|
it 'returns an escape sequence plus interpolation when a block is given' do
|
@@ -29,8 +27,6 @@ module Vedeu
|
|
29
27
|
describe '.background' do
|
30
28
|
it 'returns an escape sequence for the specified CSS background' do
|
31
29
|
TestHelpers.new.background('#2f2f2f').must_equal("\e[48;5;16m")
|
32
|
-
|
33
|
-
TestHelpers.new.bg('#ffffff').must_equal("\e[48;5;231m")
|
34
30
|
end
|
35
31
|
|
36
32
|
it 'returns an escape sequence plus interpolation when a block is given' do
|
data/test/lib/vedeu_test.rb
CHANGED
@@ -33,19 +33,16 @@ end
|
|
33
33
|
describe Vedeu do
|
34
34
|
describe '.events' do
|
35
35
|
it 'creates some system events for the client application' do
|
36
|
-
skip
|
37
36
|
end
|
38
37
|
end
|
39
38
|
|
40
39
|
describe '.log' do
|
41
40
|
it 'returns a logger instance for writing debug messages to' do
|
42
|
-
skip
|
43
41
|
end
|
44
42
|
end
|
45
43
|
|
46
44
|
describe '.error' do
|
47
45
|
it 'writes an error to the log' do
|
48
|
-
skip
|
49
46
|
end
|
50
47
|
end
|
51
48
|
end
|
data/vedeu.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'vedeu'
|
7
|
-
spec.version = '0.1.
|
7
|
+
spec.version = '0.1.6'
|
8
8
|
spec.authors = ['Gavin Laking']
|
9
9
|
spec.email = ['gavinlaking@gmail.com']
|
10
10
|
spec.summary = %q{A terminal case of wonderland.}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vedeu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -186,6 +186,7 @@ files:
|
|
186
186
|
- deps.md
|
187
187
|
- lib/vedeu.rb
|
188
188
|
- lib/vedeu/api/base.rb
|
189
|
+
- lib/vedeu/api/grid.rb
|
189
190
|
- lib/vedeu/api/interface.rb
|
190
191
|
- lib/vedeu/api/line.rb
|
191
192
|
- lib/vedeu/api/stream.rb
|
@@ -207,6 +208,7 @@ files:
|
|
207
208
|
- lib/vedeu/models/style.rb
|
208
209
|
- lib/vedeu/output/clear_interface.rb
|
209
210
|
- lib/vedeu/output/colour_translator.rb
|
211
|
+
- lib/vedeu/output/dsl_parser.rb
|
210
212
|
- lib/vedeu/output/erb_parser.rb
|
211
213
|
- lib/vedeu/output/json_parser.rb
|
212
214
|
- lib/vedeu/output/menu_parser.rb
|
@@ -225,6 +227,7 @@ files:
|
|
225
227
|
- lib/vedeu/support/wordwrap.rb
|
226
228
|
- logs/.gitkeep
|
227
229
|
- test/lib/vedeu/api/base_test.rb
|
230
|
+
- test/lib/vedeu/api/grid_test.rb
|
228
231
|
- test/lib/vedeu/api/interface_test.rb
|
229
232
|
- test/lib/vedeu/api/line_test.rb
|
230
233
|
- test/lib/vedeu/api/stream_test.rb
|
@@ -245,6 +248,7 @@ files:
|
|
245
248
|
- test/lib/vedeu/models/style_test.rb
|
246
249
|
- test/lib/vedeu/output/clear_interface_test.rb
|
247
250
|
- test/lib/vedeu/output/colour_translator_test.rb
|
251
|
+
- test/lib/vedeu/output/dsl_parser_test.rb
|
248
252
|
- test/lib/vedeu/output/erb_parser_test.rb
|
249
253
|
- test/lib/vedeu/output/json_parser_test.rb
|
250
254
|
- test/lib/vedeu/output/menu_parser_test.rb
|
@@ -312,6 +316,7 @@ specification_version: 4
|
|
312
316
|
summary: A terminal case of wonderland.
|
313
317
|
test_files:
|
314
318
|
- test/lib/vedeu/api/base_test.rb
|
319
|
+
- test/lib/vedeu/api/grid_test.rb
|
315
320
|
- test/lib/vedeu/api/interface_test.rb
|
316
321
|
- test/lib/vedeu/api/line_test.rb
|
317
322
|
- test/lib/vedeu/api/stream_test.rb
|
@@ -332,6 +337,7 @@ test_files:
|
|
332
337
|
- test/lib/vedeu/models/style_test.rb
|
333
338
|
- test/lib/vedeu/output/clear_interface_test.rb
|
334
339
|
- test/lib/vedeu/output/colour_translator_test.rb
|
340
|
+
- test/lib/vedeu/output/dsl_parser_test.rb
|
335
341
|
- test/lib/vedeu/output/erb_parser_test.rb
|
336
342
|
- test/lib/vedeu/output/json_parser_test.rb
|
337
343
|
- test/lib/vedeu/output/menu_parser_test.rb
|