vedeu 0.5.8 → 0.5.9
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/Dockerfile +3 -1
- data/docs/getting_started.md +6 -3
- data/lib/vedeu/all.rb +6 -3
- data/lib/vedeu/borders/border.rb +7 -10
- data/lib/vedeu/cli/generator/application.rb +19 -34
- data/lib/vedeu/cli/generator/helpers.rb +58 -4
- data/lib/vedeu/colours/colour_translator.rb +2 -6
- data/lib/vedeu/esc/actions.rb +52 -0
- data/lib/vedeu/esc/borders.rb +70 -0
- data/lib/vedeu/esc/colours.rb +104 -0
- data/lib/vedeu/{output → esc}/esc.rb +3 -1
- data/lib/vedeu/models/cell.rb +1 -2
- data/lib/vedeu/{null.rb → null/null.rb} +0 -0
- data/lib/vedeu/output/html_char.rb +12 -10
- data/lib/vedeu/templating/view_template.rb +15 -0
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/cli/generator/helpers_test.rb +51 -8
- data/test/lib/vedeu/esc/actions_test.rb +39 -0
- data/test/lib/vedeu/esc/borders_test.rb +37 -0
- data/test/lib/vedeu/esc/colours_test.rb +80 -0
- data/test/lib/vedeu/models/cell_test.rb +2 -2
- data/test/test_helper.rb +1 -0
- data/vedeu.gemspec +2 -2
- metadata +17 -11
- data/lib/vedeu/colours/escape_sequences.rb +0 -125
- data/test/lib/vedeu/colours/escape_sequences_test.rb +0 -100
@@ -39,7 +39,7 @@ module Vedeu
|
|
39
39
|
end
|
40
40
|
|
41
41
|
describe '#eql?' do
|
42
|
-
let(:other) { described.new(
|
42
|
+
let(:other) { described.new(value: nil) }
|
43
43
|
|
44
44
|
subject { instance.eql?(other) }
|
45
45
|
|
@@ -48,7 +48,7 @@ module Vedeu
|
|
48
48
|
it { subject.must_equal(true) }
|
49
49
|
|
50
50
|
context 'when different to other' do
|
51
|
-
let(:other) { described.new(
|
51
|
+
let(:other) { described.new(value: 'b') }
|
52
52
|
|
53
53
|
it { subject.must_equal(false) }
|
54
54
|
end
|
data/test/test_helper.rb
CHANGED
@@ -26,6 +26,7 @@ unless ENV['NO_SIMPLECOV']
|
|
26
26
|
add_group 'cursor', 'vedeu/cursor'
|
27
27
|
add_group 'distributed', 'vedeu/distributed'
|
28
28
|
add_group 'dsl', 'vedeu/dsl'
|
29
|
+
add_group 'esc', 'vedeu/esc'
|
29
30
|
add_group 'events', 'vedeu/events'
|
30
31
|
add_group 'geometry', 'vedeu/geometry'
|
31
32
|
add_group 'input', 'vedeu/input'
|
data/vedeu.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
|
23
23
|
spec.add_development_dependency 'guard', '2.13.0'
|
24
24
|
spec.add_development_dependency 'guard-minitest', '2.4.4'
|
25
|
-
spec.add_development_dependency 'minitest', '5.
|
25
|
+
spec.add_development_dependency 'minitest', '5.8.0'
|
26
26
|
spec.add_development_dependency 'minitest-reporters', '1.0.19'
|
27
27
|
spec.add_development_dependency 'mocha', '1.1.0'
|
28
28
|
spec.add_development_dependency 'pry', '0.10.1'
|
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency 'simplecov-console', '0.2.0'
|
33
33
|
spec.add_development_dependency 'yard', '0.8.7.6'
|
34
34
|
|
35
|
-
spec.add_dependency 'bundler', '~> 1.
|
35
|
+
spec.add_dependency 'bundler', '~> 1.10'
|
36
36
|
spec.add_dependency 'rake', '~> 10.4'
|
37
37
|
spec.add_dependency 'thor', '0.19.1'
|
38
38
|
end
|
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.5.
|
4
|
+
version: 0.5.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: guard
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 5.
|
47
|
+
version: 5.8.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 5.
|
54
|
+
version: 5.8.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: minitest-reporters
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,14 +170,14 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: '1.
|
173
|
+
version: '1.10'
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: '1.
|
180
|
+
version: '1.10'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: rake
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -307,7 +307,6 @@ files:
|
|
307
307
|
- lib/vedeu/colours/colour.rb
|
308
308
|
- lib/vedeu/colours/colour_translator.rb
|
309
309
|
- lib/vedeu/colours/colours.rb
|
310
|
-
- lib/vedeu/colours/escape_sequences.rb
|
311
310
|
- lib/vedeu/colours/foreground.rb
|
312
311
|
- lib/vedeu/colours/foregrounds.rb
|
313
312
|
- lib/vedeu/common.rb
|
@@ -348,6 +347,10 @@ files:
|
|
348
347
|
- lib/vedeu/dsl/text.rb
|
349
348
|
- lib/vedeu/dsl/use.rb
|
350
349
|
- lib/vedeu/dsl/view.rb
|
350
|
+
- lib/vedeu/esc/actions.rb
|
351
|
+
- lib/vedeu/esc/borders.rb
|
352
|
+
- lib/vedeu/esc/colours.rb
|
353
|
+
- lib/vedeu/esc/esc.rb
|
351
354
|
- lib/vedeu/events/event.rb
|
352
355
|
- lib/vedeu/events/event_aliases.rb
|
353
356
|
- lib/vedeu/events/event_collection.rb
|
@@ -391,18 +394,17 @@ files:
|
|
391
394
|
- lib/vedeu/models/views/line.rb
|
392
395
|
- lib/vedeu/models/views/stream.rb
|
393
396
|
- lib/vedeu/models/views/view.rb
|
394
|
-
- lib/vedeu/null.rb
|
395
397
|
- lib/vedeu/null/border.rb
|
396
398
|
- lib/vedeu/null/buffer.rb
|
397
399
|
- lib/vedeu/null/generic.rb
|
398
400
|
- lib/vedeu/null/geometry.rb
|
399
401
|
- lib/vedeu/null/interface.rb
|
400
402
|
- lib/vedeu/null/menu.rb
|
403
|
+
- lib/vedeu/null/null.rb
|
401
404
|
- lib/vedeu/null/view.rb
|
402
405
|
- lib/vedeu/output/clear/named_group.rb
|
403
406
|
- lib/vedeu/output/clear/named_interface.rb
|
404
407
|
- lib/vedeu/output/compressor.rb
|
405
|
-
- lib/vedeu/output/esc.rb
|
406
408
|
- lib/vedeu/output/html_char.rb
|
407
409
|
- lib/vedeu/output/output.rb
|
408
410
|
- lib/vedeu/output/presentation.rb
|
@@ -478,7 +480,6 @@ files:
|
|
478
480
|
- test/lib/vedeu/colours/colour_test.rb
|
479
481
|
- test/lib/vedeu/colours/colour_translator_test.rb
|
480
482
|
- test/lib/vedeu/colours/colours_test.rb
|
481
|
-
- test/lib/vedeu/colours/escape_sequences_test.rb
|
482
483
|
- test/lib/vedeu/colours/foreground_test.rb
|
483
484
|
- test/lib/vedeu/colours/foregrounds_test.rb
|
484
485
|
- test/lib/vedeu/common_test.rb
|
@@ -508,6 +509,9 @@ files:
|
|
508
509
|
- test/lib/vedeu/dsl/text_test.rb
|
509
510
|
- test/lib/vedeu/dsl/use_test.rb
|
510
511
|
- test/lib/vedeu/dsl/view_test.rb
|
512
|
+
- test/lib/vedeu/esc/actions_test.rb
|
513
|
+
- test/lib/vedeu/esc/borders_test.rb
|
514
|
+
- test/lib/vedeu/esc/colours_test.rb
|
511
515
|
- test/lib/vedeu/events/event_aliases_test.rb
|
512
516
|
- test/lib/vedeu/events/event_collection_test.rb
|
513
517
|
- test/lib/vedeu/events/event_test.rb
|
@@ -665,7 +669,6 @@ test_files:
|
|
665
669
|
- test/lib/vedeu/colours/colour_test.rb
|
666
670
|
- test/lib/vedeu/colours/colour_translator_test.rb
|
667
671
|
- test/lib/vedeu/colours/colours_test.rb
|
668
|
-
- test/lib/vedeu/colours/escape_sequences_test.rb
|
669
672
|
- test/lib/vedeu/colours/foreground_test.rb
|
670
673
|
- test/lib/vedeu/colours/foregrounds_test.rb
|
671
674
|
- test/lib/vedeu/common_test.rb
|
@@ -695,6 +698,9 @@ test_files:
|
|
695
698
|
- test/lib/vedeu/dsl/text_test.rb
|
696
699
|
- test/lib/vedeu/dsl/use_test.rb
|
697
700
|
- test/lib/vedeu/dsl/view_test.rb
|
701
|
+
- test/lib/vedeu/esc/actions_test.rb
|
702
|
+
- test/lib/vedeu/esc/borders_test.rb
|
703
|
+
- test/lib/vedeu/esc/colours_test.rb
|
698
704
|
- test/lib/vedeu/events/event_aliases_test.rb
|
699
705
|
- test/lib/vedeu/events/event_collection_test.rb
|
700
706
|
- test/lib/vedeu/events/event_test.rb
|
@@ -1,125 +0,0 @@
|
|
1
|
-
module Vedeu
|
2
|
-
|
3
|
-
# Provides escape sequence strings for terminal colours and some actions.
|
4
|
-
#
|
5
|
-
module EscapeSequences
|
6
|
-
|
7
|
-
extend self
|
8
|
-
|
9
|
-
# @return [Hash<Symbol => String>]
|
10
|
-
def actions
|
11
|
-
{
|
12
|
-
hide_cursor: "\e[?25l",
|
13
|
-
show_cursor: "\e[?25h",
|
14
|
-
cursor_position: "\e[6n",
|
15
|
-
bg_reset: "\e[49m",
|
16
|
-
blink: "\e[5m",
|
17
|
-
blink_off: "\e[25m",
|
18
|
-
bold: "\e[1m",
|
19
|
-
bold_off: "\e[22m",
|
20
|
-
border_on: "\e(0",
|
21
|
-
border_off: "\e(B",
|
22
|
-
dim: "\e[2m",
|
23
|
-
fg_reset: "\e[39m",
|
24
|
-
negative: "\e[7m",
|
25
|
-
positive: "\e[27m",
|
26
|
-
reset: "\e[0m",
|
27
|
-
underline: "\e[4m",
|
28
|
-
underline_off: "\e[24m",
|
29
|
-
}
|
30
|
-
end
|
31
|
-
|
32
|
-
# Produces the background named colour escape sequence hash from the
|
33
|
-
# foreground escape sequence hash.
|
34
|
-
#
|
35
|
-
# @return [Hash<Symbol => Fixnum>]
|
36
|
-
def background_codes
|
37
|
-
hash = {}
|
38
|
-
Vedeu::EscapeSequences.foreground_codes.inject(hash) do |h, (k, v)|
|
39
|
-
h.merge!(k => v + 10)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
# Produces the foreground named colour escape sequence hash. The background
|
44
|
-
# escape sequences are also generated from this by adding 10 to the values.
|
45
|
-
# This hash gives rise to methods you can call directly on `Esc` to produce
|
46
|
-
# the desired colours:
|
47
|
-
#
|
48
|
-
# @example
|
49
|
-
# Esc.red # => "\e[31m"
|
50
|
-
#
|
51
|
-
# Esc.red { 'some text' } # => "\e[31msome text\e[39m"
|
52
|
-
#
|
53
|
-
# Esc.on_blue # => "\e[44m"
|
54
|
-
#
|
55
|
-
# Esc.on_blue { 'some text' } # => "\e[44msome text\e[49m"
|
56
|
-
#
|
57
|
-
# # Valid names:
|
58
|
-
# :black, :red, :green, :yellow, :blue, :magenta, :cyan, :light_grey,
|
59
|
-
# :default, :dark_grey, :light_red, :light_green, :light_yellow,
|
60
|
-
# :light_blue, :light_magenta, :light_cyan, :white
|
61
|
-
#
|
62
|
-
# @return [Hash<Symbol => Fixnum>]
|
63
|
-
def foreground_codes
|
64
|
-
{
|
65
|
-
black: 30,
|
66
|
-
red: 31,
|
67
|
-
green: 32,
|
68
|
-
yellow: 33,
|
69
|
-
blue: 34,
|
70
|
-
magenta: 35,
|
71
|
-
cyan: 36,
|
72
|
-
light_grey: 37,
|
73
|
-
default: 39,
|
74
|
-
dark_grey: 90,
|
75
|
-
light_red: 91,
|
76
|
-
light_green: 92,
|
77
|
-
light_yellow: 93,
|
78
|
-
light_blue: 94,
|
79
|
-
light_magenta: 95,
|
80
|
-
light_cyan: 96,
|
81
|
-
white: 97,
|
82
|
-
}
|
83
|
-
end
|
84
|
-
alias_method :codes, :foreground_codes
|
85
|
-
|
86
|
-
# @return [void]
|
87
|
-
def setup!
|
88
|
-
define_actions!
|
89
|
-
define_backgrounds!
|
90
|
-
define_foregrounds!
|
91
|
-
end
|
92
|
-
|
93
|
-
private
|
94
|
-
|
95
|
-
# @return [void]
|
96
|
-
def define_actions!
|
97
|
-
actions.each { |key, code| define_method(key) { code } }
|
98
|
-
end
|
99
|
-
|
100
|
-
# @return [void]
|
101
|
-
def define_backgrounds!
|
102
|
-
background_codes.each do |key, code|
|
103
|
-
define_method('on_' + key.to_s) do |&blk|
|
104
|
-
"\e[#{code}m" + (blk ? blk.call + "\e[49m" : '')
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
# Dynamically creates methods for each terminal named colour. When a block
|
110
|
-
# is given, then the colour is reset to 'default' once the block is called.
|
111
|
-
#
|
112
|
-
# @return [void]
|
113
|
-
def define_foregrounds!
|
114
|
-
foreground_codes.each do |key, code|
|
115
|
-
define_method(key) do |&blk|
|
116
|
-
"\e[#{code}m" + (blk ? blk.call + "\e[39m" : '')
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
end # EscapeSequences
|
122
|
-
|
123
|
-
end # Vedeu
|
124
|
-
|
125
|
-
Vedeu::EscapeSequences.setup!
|
@@ -1,100 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
module Vedeu
|
4
|
-
|
5
|
-
describe EscapeSequences do
|
6
|
-
|
7
|
-
let(:described) { Vedeu::EscapeSequences }
|
8
|
-
|
9
|
-
before { Vedeu::Terminal.stubs(:size).returns([80, 25]) }
|
10
|
-
|
11
|
-
describe 'foreground colour methods' do
|
12
|
-
it { described.black.must_equal("\e[30m") }
|
13
|
-
it { described.red.must_equal("\e[31m") }
|
14
|
-
it { described.green.must_equal("\e[32m") }
|
15
|
-
it { described.yellow.must_equal("\e[33m") }
|
16
|
-
it { described.blue.must_equal("\e[34m") }
|
17
|
-
it { described.magenta.must_equal("\e[35m") }
|
18
|
-
it { described.cyan.must_equal("\e[36m") }
|
19
|
-
it { described.light_grey.must_equal("\e[37m") }
|
20
|
-
it { described.default.must_equal("\e[39m") }
|
21
|
-
it { described.dark_grey.must_equal("\e[90m") }
|
22
|
-
it { described.light_red.must_equal("\e[91m") }
|
23
|
-
it { described.light_green.must_equal("\e[92m") }
|
24
|
-
it { described.light_yellow.must_equal("\e[93m") }
|
25
|
-
it { described.light_blue.must_equal("\e[94m") }
|
26
|
-
it { described.light_magenta.must_equal("\e[95m") }
|
27
|
-
it { described.light_cyan.must_equal("\e[96m") }
|
28
|
-
it { described.white.must_equal("\e[97m") }
|
29
|
-
|
30
|
-
it 'returns an escape sequence for the foreground colour and resets ' \
|
31
|
-
'after calling the block' do
|
32
|
-
described.cyan do
|
33
|
-
'ununpentium'
|
34
|
-
end.must_equal("\e[36mununpentium\e[39m")
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
describe '.codes' do
|
39
|
-
it { described.codes.must_be_instance_of(Hash) }
|
40
|
-
it { described.must_respond_to(:foreground_codes) }
|
41
|
-
end
|
42
|
-
|
43
|
-
describe '.background_codes' do
|
44
|
-
it { described.background_codes.must_be_instance_of(Hash) }
|
45
|
-
end
|
46
|
-
|
47
|
-
describe 'background colour methods' do
|
48
|
-
it { described.on_black.must_equal("\e[40m") }
|
49
|
-
it { described.on_red.must_equal("\e[41m") }
|
50
|
-
it { described.on_green.must_equal("\e[42m") }
|
51
|
-
it { described.on_yellow.must_equal("\e[43m") }
|
52
|
-
it { described.on_blue.must_equal("\e[44m") }
|
53
|
-
it { described.on_magenta.must_equal("\e[45m") }
|
54
|
-
it { described.on_cyan.must_equal("\e[46m") }
|
55
|
-
it { described.on_light_grey.must_equal("\e[47m") }
|
56
|
-
it { described.on_default.must_equal("\e[49m") }
|
57
|
-
it { described.on_dark_grey.must_equal("\e[100m") }
|
58
|
-
it { described.on_light_red.must_equal("\e[101m") }
|
59
|
-
it { described.on_light_green.must_equal("\e[102m") }
|
60
|
-
it { described.on_light_yellow.must_equal("\e[103m") }
|
61
|
-
it { described.on_light_blue.must_equal("\e[104m") }
|
62
|
-
it { described.on_light_magenta.must_equal("\e[105m") }
|
63
|
-
it { described.on_light_cyan.must_equal("\e[106m") }
|
64
|
-
it { described.on_white.must_equal("\e[107m") }
|
65
|
-
|
66
|
-
it 'returns an escape sequence for the background colour and resets ' \
|
67
|
-
'after calling the block' do
|
68
|
-
described.on_red do
|
69
|
-
'livermorium'
|
70
|
-
end.must_equal("\e[41mlivermorium\e[49m")
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
describe 'action methods' do
|
75
|
-
it { described.hide_cursor.must_equal("\e[?25l") }
|
76
|
-
it { described.show_cursor.must_equal("\e[?25h") }
|
77
|
-
it { described.cursor_position.must_equal("\e[6n") }
|
78
|
-
it { described.bg_reset.must_equal("\e[49m") }
|
79
|
-
it { described.blink.must_equal("\e[5m") }
|
80
|
-
it { described.blink_off.must_equal("\e[25m") }
|
81
|
-
it { described.bold.must_equal("\e[1m") }
|
82
|
-
it { described.bold_off.must_equal("\e[22m") }
|
83
|
-
it { described.border_on.must_equal("\e(0") }
|
84
|
-
it { described.border_off.must_equal("\e(B") }
|
85
|
-
it { described.dim.must_equal("\e[2m") }
|
86
|
-
it { described.fg_reset.must_equal("\e[39m") }
|
87
|
-
it { described.negative.must_equal("\e[7m") }
|
88
|
-
it { described.positive.must_equal("\e[27m") }
|
89
|
-
it { described.reset.must_equal("\e[0m") }
|
90
|
-
it { described.underline.must_equal("\e[4m") }
|
91
|
-
it { described.underline_off.must_equal("\e[24m") }
|
92
|
-
end
|
93
|
-
|
94
|
-
describe '.actions' do
|
95
|
-
it { described.actions.must_be_instance_of(Hash) }
|
96
|
-
end
|
97
|
-
|
98
|
-
end # EscapeSequences
|
99
|
-
|
100
|
-
end # Vedeu
|