vedeu 0.5.8 → 0.5.9
Sign up to get free protection for your applications and to get access to all the features.
- 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
|