vedeu 0.4.24 → 0.4.25

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.
@@ -20,12 +20,6 @@ module Vedeu
20
20
 
21
21
  it { subject.must_be_instance_of(String) }
22
22
 
23
- context 'when the output is not a collection' do
24
- let(:output) { 'abcd' }
25
-
26
- it { subject.must_equal('abcd') }
27
- end
28
-
29
23
  context 'when the output is all Vedeu::Char elements' do
30
24
  let(:output) {
31
25
  [
@@ -57,12 +51,12 @@ module Vedeu
57
51
  let(:output) {
58
52
  [
59
53
  Vedeu::Char.new(value: 'N'),
60
- 'o',
54
+ Vedeu::EscapeChar.new("\e[?25l"),
61
55
  Vedeu::Char.new(value: 't'),
62
56
  ]
63
57
  }
64
58
  it 'converts the non-Vedeu::Char elements into String elements' do
65
- subject.must_equal('Not')
59
+ subject.must_equal("N\e[?25lt")
66
60
  end
67
61
  end
68
62
  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.4.24'
7
+ spec.version = '0.4.25'
8
8
  spec.authors = ['Gavin Laking']
9
9
  spec.email = ['gavinlaking@gmail.com']
10
10
  spec.summary = '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.4.24
4
+ version: 0.4.25
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-06-04 00:00:00.000000000 Z
11
+ date: 2015-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -272,14 +272,11 @@ files:
272
272
  - examples/colour_support.sh
273
273
  - examples/colours_app.rb
274
274
  - examples/configuration_app.rb
275
- - examples/cursor_app.rb
276
275
  - examples/drb_app.rb
277
276
  - examples/focus_app.rb
278
277
  - examples/geometry_app.rb
279
278
  - examples/hello_world.rb
280
- - examples/lines_app.rb
281
279
  - examples/material_colours_app.rb
282
- - examples/maximise_unmaximise_app.rb
283
280
  - examples/typed_commands/command.erb
284
281
  - examples/typed_commands/output.erb
285
282
  - examples/typed_commands/status.erb
@@ -362,6 +359,7 @@ files:
362
359
  - lib/vedeu/models/cell.rb
363
360
  - lib/vedeu/models/char.rb
364
361
  - lib/vedeu/models/composition.rb
362
+ - lib/vedeu/models/escape_char.rb
365
363
  - lib/vedeu/models/focus.rb
366
364
  - lib/vedeu/models/group.rb
367
365
  - lib/vedeu/models/interface.rb
@@ -487,6 +485,7 @@ files:
487
485
  - test/lib/vedeu/models/cell_test.rb
488
486
  - test/lib/vedeu/models/char_test.rb
489
487
  - test/lib/vedeu/models/composition_test.rb
488
+ - test/lib/vedeu/models/escape_char_test.rb
490
489
  - test/lib/vedeu/models/focus_test.rb
491
490
  - test/lib/vedeu/models/group_test.rb
492
491
  - test/lib/vedeu/models/interface_test.rb
@@ -637,6 +636,7 @@ test_files:
637
636
  - test/lib/vedeu/models/cell_test.rb
638
637
  - test/lib/vedeu/models/char_test.rb
639
638
  - test/lib/vedeu/models/composition_test.rb
639
+ - test/lib/vedeu/models/escape_char_test.rb
640
640
  - test/lib/vedeu/models/focus_test.rb
641
641
  - test/lib/vedeu/models/group_test.rb
642
642
  - test/lib/vedeu/models/interface_test.rb
@@ -1,126 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- lib_dir = File.dirname(__FILE__) + '/../lib'
4
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
-
6
- require 'vedeu'
7
-
8
- # An example application to demonstrate cursors; their movement and effect on
9
- # the viewport of the interface in focus.
10
- class VedeuCursorApp
11
-
12
- include Vedeu
13
-
14
- configure do
15
- debug!
16
- log '/tmp/vedeu_cursor_app.log'
17
- end
18
-
19
- interface 'main_interface' do
20
- colour foreground: '#ff0000', background: '#000000'
21
- cursor!
22
-
23
- geometry do
24
- centred true
25
- height 10
26
- width 20
27
- end
28
- end
29
-
30
- keymap('_global_') do
31
- key(:up) { Vedeu.trigger(:_cursor_up_) }
32
- key(:right) { Vedeu.trigger(:_cursor_right_) }
33
- key(:down) { Vedeu.trigger(:_cursor_down_) }
34
- key(:left) { Vedeu.trigger(:_cursor_left_) }
35
-
36
- key('k') { Vedeu.trigger(:_geometry_up_, 'main_interface') }
37
- key('l') { Vedeu.trigger(:_geometry_right_, 'main_interface') }
38
- key('j') { Vedeu.trigger(:_geometry_down_, 'main_interface') }
39
- key('h') { Vedeu.trigger(:_geometry_left_, 'main_interface') }
40
-
41
- key('m') { Vedeu.trigger(:_maximise_, 'main_interface') }
42
- key('u') { Vedeu.trigger(:_unmaximise_, 'main_interface') }
43
- end
44
-
45
- renders do
46
- view 'main_interface' do
47
- border do
48
- colour foreground: '#aadd00', background: '#000000'
49
- title 'Move!'
50
- end
51
- lines do
52
- streams do
53
- text 'A.3 '
54
- end
55
- streams do
56
- background '#550000'
57
- foreground '#ffff00'
58
- text 'hydrogen'
59
- end
60
- streams do
61
- text ' helium'
62
- end
63
- end
64
- lines do
65
- streams do
66
- text 'B.34 '
67
- text 'lithium ', colour: { foreground: '#63d48e' }
68
- text 'beryllium '
69
- text 'boron', colour: { background: '#770033' }
70
- text ' nitrogen'
71
- end
72
- end
73
- lines do
74
- streams do
75
- text 'C.345'
76
- text ' carbon oxygen '
77
- end
78
- streams do
79
- background '#aadd00'
80
- foreground '#00ddaa'
81
- text 'fluorine'
82
- end
83
- end
84
- lines do
85
- streams do
86
- text 'D.3456'
87
- end
88
- end
89
- lines do
90
- streams do
91
- text 'E.34567 neon sodium', colour: { foreground: '#ffffff' }
92
- end
93
- end
94
- lines do
95
- streams do
96
- text 'F.345678 magnesium '
97
- end
98
- streams do
99
- foreground '#00aaff'
100
- text 'aluminium'
101
- end
102
- end
103
- lines do
104
- streams do
105
- text 'G.3456789 silicon'
106
- end
107
- end
108
- lines do
109
- streams do
110
- background '#550000'
111
- foreground '#ff00ff'
112
- text 'H.34567890'
113
- end
114
- end
115
- end
116
- end
117
-
118
- focus_by_name 'main_interface'
119
-
120
- def self.start(argv = ARGV)
121
- Vedeu::Launcher.execute!(argv)
122
- end
123
-
124
- end
125
-
126
- VedeuCursorApp.start(ARGV)
@@ -1,71 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- lib_dir = File.dirname(__FILE__) + '/../lib'
4
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
-
6
- require 'vedeu'
7
-
8
- # An example application to demonstrate interface lines.
9
- class VedeuLinesApp
10
-
11
- include Vedeu
12
-
13
- configure do
14
- debug!
15
- log '/tmp/vedeu_lines_app.log'
16
- end
17
-
18
- interface 'ruthenium' do
19
- geometry do
20
- centred true
21
- height 5
22
- width 40
23
- end
24
- colour foreground: '#ffffff', background: '#000000'
25
- end
26
-
27
- interface 'tantalum' do
28
- colour foreground: '#00aadd', background: '#000000'
29
- geometry do
30
- height 1
31
- width 40
32
- x Vedeu.use('ruthenium').left
33
- y Vedeu.use('ruthenium').south
34
- end
35
- end
36
-
37
- keymap('_global_') do
38
- key(:up) { Vedeu.trigger(:_cursor_up_) }
39
- key(:right) { Vedeu.trigger(:_cursor_right_) }
40
- key(:down) { Vedeu.trigger(:_cursor_down_) }
41
- key(:left) { Vedeu.trigger(:_cursor_left_) }
42
- end
43
-
44
- renders do
45
- view 'ruthenium' do
46
- lines do
47
- line 'Ruthenium is a chemical element with'
48
- line 'symbol Ru and atomic number 44. It is a'
49
- line 'rare transition metal belonging to the'
50
- line 'platinum group of the periodic table.'
51
- line 'Like the other metals of the platinum'
52
- line 'group, ruthenium is inert to most other'
53
- line 'chemicals.'
54
- end
55
- end
56
- view 'tantalum' do
57
- lines do
58
- line 'Use cursor keys to navigate, Q to quit.'
59
- end
60
- end
61
- end
62
-
63
- focus_by_name 'ruthenium'
64
-
65
- def self.start(argv = ARGV)
66
- Vedeu::Launcher.execute!(argv)
67
- end
68
-
69
- end
70
-
71
- VedeuLinesApp.start(ARGV)
@@ -1,120 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- lib_dir = File.dirname(__FILE__) + '/../lib'
4
- $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
-
6
- require 'vedeu'
7
-
8
- # An example application to demonstrate maximising and unmaximising views.
9
- #
10
- class VedeuMaximiseApp
11
-
12
- include Vedeu
13
-
14
- configure do
15
- debug!
16
- log '/tmp/vedeu_maximise_app.log'
17
- end
18
-
19
- interface 'main_interface' do
20
- colour foreground: '#ff0000', background: '#000000'
21
- cursor!
22
-
23
- geometry do
24
- centred true
25
- height 10
26
- width 20
27
- end
28
- end
29
-
30
- keymap('_global_') do
31
- key(:up, 'k') { Vedeu.trigger(:_cursor_up_) }
32
- key(:right, 'l') { Vedeu.trigger(:_cursor_right_) }
33
- key(:down, 'j') { Vedeu.trigger(:_cursor_down_) }
34
- key(:left, 'h') { Vedeu.trigger(:_cursor_left_) }
35
- key('m') { Vedeu.trigger(:_maximise_, 'main_interface') }
36
- key('n') { Vedeu.trigger(:_unmaximise_, 'main_interface') }
37
- end
38
-
39
- renders do
40
- view 'main_interface' do
41
- border do
42
- colour foreground: '#aadd00', background: '#000000'
43
- title 'Move!'
44
- end
45
- lines do
46
- streams do
47
- text 'A.3 '
48
- end
49
- streams do
50
- background '#550000'
51
- foreground '#ffff00'
52
- text 'hydrogen'
53
- end
54
- streams do
55
- text ' helium'
56
- end
57
- end
58
- lines do
59
- streams do
60
- text 'B.34 '
61
- text 'lithium ', colour: { foreground: '#63d48e' }
62
- text 'beryllium '
63
- text 'boron', colour: { background: '#770033' }
64
- text ' nitrogen'
65
- end
66
- end
67
- lines do
68
- streams do
69
- text 'C.345'
70
- text ' carbon oxygen '
71
- end
72
- streams do
73
- background '#aadd00'
74
- foreground '#00ddaa'
75
- text 'fluorine'
76
- end
77
- end
78
- lines do
79
- streams do
80
- text 'D.3456'
81
- end
82
- end
83
- lines do
84
- streams do
85
- text 'E.34567 neon sodium', colour: { foreground: '#ffffff' }
86
- end
87
- end
88
- lines do
89
- streams do
90
- text 'F.345678 magnesium '
91
- end
92
- streams do
93
- foreground '#00aaff'
94
- text 'aluminium'
95
- end
96
- end
97
- lines do
98
- streams do
99
- text 'G.3456789 silicon'
100
- end
101
- end
102
- lines do
103
- streams do
104
- background '#550000'
105
- foreground '#ff00ff'
106
- text 'H.34567890'
107
- end
108
- end
109
- end
110
- end
111
-
112
- focus_by_name 'main_interface'
113
-
114
- def self.start(argv = ARGV)
115
- Vedeu::Launcher.execute!(argv)
116
- end
117
-
118
- end
119
-
120
- VedeuMaximiseApp.start(ARGV)