vedeu 0.4.25 → 0.4.26
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/lib/vedeu.rb +0 -5
- data/lib/vedeu/output/border.rb +11 -10
- data/lib/vedeu/output/presentation.rb +10 -10
- data/lib/vedeu/repositories/registerable.rb +12 -0
- data/lib/vedeu/repositories/repositories/borders.rb +1 -4
- data/lib/vedeu/repositories/repositories/buffers.rb +1 -4
- data/lib/vedeu/repositories/repositories/cursors.rb +1 -4
- data/lib/vedeu/repositories/repositories/events_repository.rb +1 -4
- data/lib/vedeu/repositories/repositories/geometries.rb +1 -4
- data/lib/vedeu/repositories/repositories/groups.rb +1 -4
- data/lib/vedeu/repositories/repositories/interfaces_repository.rb +1 -4
- data/lib/vedeu/repositories/repositories/keymaps.rb +1 -4
- data/lib/vedeu/repositories/repositories/menus.rb +1 -4
- data/lib/vedeu/support/all.rb +0 -1
- data/test/lib/vedeu/api_test.rb +11 -11
- data/test/lib/vedeu/repositories/repositories/borders_test.rb +0 -6
- data/test/lib/vedeu/repositories/repositories/buffers_test.rb +0 -6
- data/test/lib/vedeu/repositories/repositories/cursors_test.rb +0 -6
- data/test/lib/vedeu/repositories/repositories/events_repository_test.rb +0 -6
- data/test/lib/vedeu/repositories/repositories/geometries_test.rb +0 -6
- data/test/lib/vedeu/repositories/repositories/groups_test.rb +0 -6
- data/test/lib/vedeu/repositories/repositories/interfaces_repositories_test.rb +0 -6
- data/test/lib/vedeu/repositories/repositories/keymaps_test.rb +0 -6
- data/test/lib/vedeu/repositories/repositories/menus_test.rb +0 -6
- data/test/test_helper.rb +0 -4
- data/vedeu.gemspec +1 -1
- metadata +2 -5
- data/lib/vedeu/support/trace.rb +0 -197
- data/test/lib/vedeu/support/trace_test.rb +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bba3e9391ad8c7f14484b09adc03826c64cdff5
|
4
|
+
data.tar.gz: 166ea2c63e70165ec7a7b33902e8946d7f14c3b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b18d838e63f6d47ed70ad102e5db5157bbebebbf34faf0acdcc7cbdc34cfbf13348ee2d24cb3e765d478d1f7076290c5053c1092f60d1087bf8093c97d42b603
|
7
|
+
data.tar.gz: c10f07257a95dde84f961448fe4ba6d07a2539235258be5163792eeb1c345af2052786d2e006a1dd54f3452cf931aa10faf037e9fd559ef7073803186e98c393
|
data/lib/vedeu.rb
CHANGED
data/lib/vedeu/output/border.rb
CHANGED
@@ -361,16 +361,17 @@ module Vedeu
|
|
361
361
|
# @param ix [Fixnum]
|
362
362
|
# @return [Vedeu::Position]
|
363
363
|
def position(name, iy = 0, ix = 0)
|
364
|
-
case name
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
364
|
+
coords = case name
|
365
|
+
when :top_horizontal then [y, (bx + ix)]
|
366
|
+
when :bottom_horizontal then [yn, (bx + ix)]
|
367
|
+
when :left_vertical then [(by + iy), x]
|
368
|
+
when :right_vertical then [(by + iy), xn]
|
369
|
+
when :bottom_left then [yn, x]
|
370
|
+
when :bottom_right then [yn, xn]
|
371
|
+
when :top_left then [y, x]
|
372
|
+
when :top_right then [y, xn]
|
373
|
+
end
|
374
|
+
Vedeu::Position.coerce(coords)
|
374
375
|
end
|
375
376
|
|
376
377
|
end # Border
|
@@ -8,13 +8,13 @@ module Vedeu
|
|
8
8
|
# @return [Vedeu::Background]
|
9
9
|
def background
|
10
10
|
@background ||= if colour
|
11
|
-
|
11
|
+
colour.background
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
else
|
14
|
+
Vedeu::Background.new
|
15
|
+
# @todo: Should this be: parent_background
|
16
16
|
|
17
|
-
|
17
|
+
end
|
18
18
|
end
|
19
19
|
|
20
20
|
# @return [Vedeu::Background]
|
@@ -37,13 +37,13 @@ module Vedeu
|
|
37
37
|
# @return [Vedeu::Foreground]
|
38
38
|
def foreground
|
39
39
|
@foreground ||= if colour
|
40
|
-
|
40
|
+
colour.foreground
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
else
|
43
|
+
Vedeu::Foreground.new
|
44
|
+
# @todo: Should this be: parent_foreground
|
45
45
|
|
46
|
-
|
46
|
+
end
|
47
47
|
end
|
48
48
|
|
49
49
|
# @return [Vedeu::Foreground]
|
@@ -34,6 +34,18 @@ module Vedeu
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
+
# Returns the repositories registered.
|
38
|
+
#
|
39
|
+
# @note
|
40
|
+
# If the repository is 'Geometries', for example, then @models will be
|
41
|
+
# either an empty Geometries repository or the collection of stored
|
42
|
+
# models.
|
43
|
+
#
|
44
|
+
# @return [void]
|
45
|
+
def repository
|
46
|
+
@models ||= reset!
|
47
|
+
end
|
48
|
+
|
37
49
|
end # ClassMethods
|
38
50
|
|
39
51
|
# When this module is included in a class, provide ClassMethods as class
|
@@ -6,10 +6,7 @@ module Vedeu
|
|
6
6
|
class << self
|
7
7
|
|
8
8
|
# @return [Vedeu::InterfacesRepository]
|
9
|
-
|
10
|
-
@interfaces ||= reset!
|
11
|
-
end
|
12
|
-
alias_method :repository, :interfaces
|
9
|
+
alias_method :interfaces, :repository
|
13
10
|
|
14
11
|
# Remove all stored models from the repository.
|
15
12
|
#
|
data/lib/vedeu/support/all.rb
CHANGED
data/test/lib/vedeu/api_test.rb
CHANGED
@@ -18,7 +18,7 @@ module Vedeu
|
|
18
18
|
describe '.borders' do
|
19
19
|
subject { Vedeu.borders }
|
20
20
|
|
21
|
-
|
21
|
+
it { subject.must_be_instance_of(Vedeu::Borders) }
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -26,7 +26,7 @@ module Vedeu
|
|
26
26
|
describe '.buffers' do
|
27
27
|
subject { Vedeu.buffers }
|
28
28
|
|
29
|
-
|
29
|
+
it { subject.must_be_instance_of(Vedeu::Buffers) }
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -34,7 +34,7 @@ module Vedeu
|
|
34
34
|
describe '.canvas' do
|
35
35
|
subject { Vedeu.canvas }
|
36
36
|
|
37
|
-
|
37
|
+
it { subject.must_be_instance_of(Vedeu::Canvas) }
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
@@ -48,7 +48,7 @@ module Vedeu
|
|
48
48
|
describe '.configuration' do
|
49
49
|
subject { Vedeu.configuration }
|
50
50
|
|
51
|
-
|
51
|
+
it { subject.must_be_instance_of(Vedeu::Configuration) }
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -66,7 +66,7 @@ module Vedeu
|
|
66
66
|
describe '.cursors' do
|
67
67
|
subject { Vedeu.cursors }
|
68
68
|
|
69
|
-
|
69
|
+
it { subject.must_be_instance_of(Vedeu::Cursors) }
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
@@ -152,7 +152,7 @@ module Vedeu
|
|
152
152
|
describe '.events' do
|
153
153
|
subject { Vedeu.events }
|
154
154
|
|
155
|
-
|
155
|
+
it { subject.must_be_instance_of(Vedeu::EventsRepository) }
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
@@ -204,7 +204,7 @@ module Vedeu
|
|
204
204
|
describe '.geometries' do
|
205
205
|
subject { Vedeu.geometries }
|
206
206
|
|
207
|
-
|
207
|
+
it { subject.must_be_instance_of(Vedeu::Geometries) }
|
208
208
|
end
|
209
209
|
end
|
210
210
|
|
@@ -212,7 +212,7 @@ module Vedeu
|
|
212
212
|
describe '.groups' do
|
213
213
|
subject { Vedeu.groups }
|
214
214
|
|
215
|
-
|
215
|
+
it { subject.must_be_instance_of(Vedeu::Groups) }
|
216
216
|
end
|
217
217
|
end
|
218
218
|
|
@@ -220,7 +220,7 @@ module Vedeu
|
|
220
220
|
describe '.interfaces' do
|
221
221
|
subject { Vedeu.interfaces }
|
222
222
|
|
223
|
-
|
223
|
+
it { subject.must_be_instance_of(Vedeu::InterfacesRepository) }
|
224
224
|
end
|
225
225
|
end
|
226
226
|
|
@@ -228,7 +228,7 @@ module Vedeu
|
|
228
228
|
describe '.keymaps' do
|
229
229
|
subject { Vedeu.keymaps }
|
230
230
|
|
231
|
-
|
231
|
+
it { subject.must_be_instance_of(Vedeu::Keymaps) }
|
232
232
|
end
|
233
233
|
end
|
234
234
|
|
@@ -260,7 +260,7 @@ module Vedeu
|
|
260
260
|
describe '.menus' do
|
261
261
|
subject { Vedeu.menus }
|
262
262
|
|
263
|
-
|
263
|
+
it { subject.must_be_instance_of(Vedeu::Menus) }
|
264
264
|
end
|
265
265
|
end
|
266
266
|
|
@@ -7,12 +7,6 @@ module Vedeu
|
|
7
7
|
let(:described) { Vedeu::Buffers }
|
8
8
|
let(:instance) { described.buffers }
|
9
9
|
|
10
|
-
describe '.buffers' do
|
11
|
-
subject { instance }
|
12
|
-
|
13
|
-
it { subject.must_be_instance_of(described) }
|
14
|
-
end
|
15
|
-
|
16
10
|
describe '#by_name' do
|
17
11
|
let(:_name) { 'carbon' }
|
18
12
|
|
data/test/test_helper.rb
CHANGED
@@ -47,10 +47,6 @@ require 'support/helpers/model_test_class'
|
|
47
47
|
# # Minitest::Reporters::SpecReporter.new
|
48
48
|
# )
|
49
49
|
|
50
|
-
# trace method execution with (optionally) local variables
|
51
|
-
# require 'vedeu/support/log'
|
52
|
-
# Vedeu::Trace.call({ watched: 'call', klass: /^Vedeu/ })
|
53
|
-
|
54
50
|
def test_configuration
|
55
51
|
Vedeu::Configuration.reset!
|
56
52
|
|
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.
|
7
|
+
spec.version = '0.4.26'
|
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.
|
4
|
+
version: 0.4.26
|
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-
|
11
|
+
date: 2015-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -431,7 +431,6 @@ files:
|
|
431
431
|
- lib/vedeu/support/template.rb
|
432
432
|
- lib/vedeu/support/terminal.rb
|
433
433
|
- lib/vedeu/support/timer.rb
|
434
|
-
- lib/vedeu/support/trace.rb
|
435
434
|
- lib/vedeu/support/visibility.rb
|
436
435
|
- lib/vedeu/traps.rb
|
437
436
|
- logs/.gitkeep
|
@@ -550,7 +549,6 @@ files:
|
|
550
549
|
- test/lib/vedeu/support/options_test.rb
|
551
550
|
- test/lib/vedeu/support/template_test.rb
|
552
551
|
- test/lib/vedeu/support/terminal_test.rb
|
553
|
-
- test/lib/vedeu/support/trace_test.rb
|
554
552
|
- test/lib/vedeu/support/visibility_test.rb
|
555
553
|
- test/lib/vedeu/traps_test.rb
|
556
554
|
- test/lib/vedeu_test.rb
|
@@ -701,7 +699,6 @@ test_files:
|
|
701
699
|
- test/lib/vedeu/support/options_test.rb
|
702
700
|
- test/lib/vedeu/support/template_test.rb
|
703
701
|
- test/lib/vedeu/support/terminal_test.rb
|
704
|
-
- test/lib/vedeu/support/trace_test.rb
|
705
702
|
- test/lib/vedeu/support/visibility_test.rb
|
706
703
|
- test/lib/vedeu/traps_test.rb
|
707
704
|
- test/lib/vedeu_test.rb
|
data/lib/vedeu/support/trace.rb
DELETED
@@ -1,197 +0,0 @@
|
|
1
|
-
module Vedeu
|
2
|
-
|
3
|
-
# :nocov:
|
4
|
-
# This class currently provides the means to trace each method call which
|
5
|
-
# occurs inside Vedeu. This is very useful (to me!) for debugging. Running
|
6
|
-
# this will make your application less responsive, and the tests
|
7
|
-
# excruciatingly slow to run.
|
8
|
-
class Trace
|
9
|
-
|
10
|
-
# @todo
|
11
|
-
# Replace this class with this:
|
12
|
-
#
|
13
|
-
# def self.trace
|
14
|
-
# trace = TracePoint.new(:call) do |tp|
|
15
|
-
# if tp.defined_class.to_s.match(/Troo/)
|
16
|
-
# Vedeu.log(type: :debug,
|
17
|
-
# message: [tp.defined_class.to_s,
|
18
|
-
# tp.method_id.to_s].join(' '))
|
19
|
-
# end
|
20
|
-
# end
|
21
|
-
# trace.enable
|
22
|
-
# end
|
23
|
-
|
24
|
-
# @param options [Hash]
|
25
|
-
# @option option event [Symbol]
|
26
|
-
# @option option trace [Boolean]
|
27
|
-
# @return [void]
|
28
|
-
def self.call(options = {})
|
29
|
-
new(options).trace
|
30
|
-
end
|
31
|
-
|
32
|
-
# Returns a new instance of Vedeu::Trace
|
33
|
-
#
|
34
|
-
# @param options [Hash]
|
35
|
-
# @return [Trace]
|
36
|
-
def initialize(options = {})
|
37
|
-
@options = options
|
38
|
-
end
|
39
|
-
|
40
|
-
# Performs the trace operation. Building strings which include:
|
41
|
-
# - (class_count) a count of classes registered with Vedeu,
|
42
|
-
# - (classname) the class name being traced,
|
43
|
-
# - (id) the method name being traced,
|
44
|
-
# - (vars) any local variables belonging to the method.
|
45
|
-
#
|
46
|
-
# @note
|
47
|
-
# Arguments to set_trace_func proc:
|
48
|
-
# |event, file, line, id, binding, name|
|
49
|
-
#
|
50
|
-
# @todo Deprecate, and use TracePoint instead.
|
51
|
-
#
|
52
|
-
# @return [NilClass|String]
|
53
|
-
def trace
|
54
|
-
set_trace_func proc { |event, _, _, id, binding, name|
|
55
|
-
if event == watched && id != :log && classes.include?(name.to_s)
|
56
|
-
vars = variables(binding)
|
57
|
-
|
58
|
-
if vars.empty?
|
59
|
-
log_this(format('%s %-25s #%-20s', count, name, id))
|
60
|
-
|
61
|
-
else
|
62
|
-
log_this(format("%s %-25s #%-20s\n%s\n", count, name, id, vars))
|
63
|
-
|
64
|
-
end
|
65
|
-
end
|
66
|
-
} if trace?
|
67
|
-
end
|
68
|
-
|
69
|
-
private
|
70
|
-
|
71
|
-
# Writes the message to the log file.
|
72
|
-
#
|
73
|
-
# @param message [String]
|
74
|
-
# @return [String]
|
75
|
-
def log_this(message)
|
76
|
-
Vedeu::Log.logger.debug(message)
|
77
|
-
|
78
|
-
message
|
79
|
-
end
|
80
|
-
|
81
|
-
# Provides inspection of the local variables set within the method being
|
82
|
-
# traced. Makes the log file extremely noisy, but very useful for hunting
|
83
|
-
# down bugs.
|
84
|
-
#
|
85
|
-
# @param binding [Class]
|
86
|
-
# @return [String]
|
87
|
-
def variables(binding)
|
88
|
-
binding.eval('local_variables').each do |var|
|
89
|
-
variable = Vedeu::Esc.green { var.to_s }
|
90
|
-
value = binding.local_variable_get(var)
|
91
|
-
klass = Vedeu::Esc.magenta { value.class.to_s }
|
92
|
-
output = (value.is_a?(Proc)) ? '#<Proc:...' : value.inspect
|
93
|
-
content = colour(value.class.to_s, output)
|
94
|
-
|
95
|
-
format('%33s %-10s = %s %s', ' ', variable, klass, content)
|
96
|
-
end.join("\n")
|
97
|
-
end
|
98
|
-
|
99
|
-
# @return [String]
|
100
|
-
def watched
|
101
|
-
options[:event]
|
102
|
-
end
|
103
|
-
|
104
|
-
# @return [Boolean]
|
105
|
-
def trace?
|
106
|
-
options[:trace]
|
107
|
-
end
|
108
|
-
|
109
|
-
# @return [Hash]
|
110
|
-
def options
|
111
|
-
defaults.merge!(@options)
|
112
|
-
end
|
113
|
-
|
114
|
-
# The default values for a new instance of this class.
|
115
|
-
#
|
116
|
-
# @return [Hash]
|
117
|
-
def defaults
|
118
|
-
{
|
119
|
-
trace: Vedeu::Configuration.trace?,
|
120
|
-
event: 'call',
|
121
|
-
}
|
122
|
-
end
|
123
|
-
|
124
|
-
# @return [Hash]
|
125
|
-
def colour(klass, output)
|
126
|
-
{
|
127
|
-
'Array' => :yellow,
|
128
|
-
'Fixnum' => :cyan,
|
129
|
-
'Hash' => :blue,
|
130
|
-
'NilClass' => :red,
|
131
|
-
'String' => :green,
|
132
|
-
'Symbol' => :magenta,
|
133
|
-
}.fetch(klass, :white) { |colour| Vedeu::Esc.send(colour) { output } }
|
134
|
-
end
|
135
|
-
|
136
|
-
# Returns the number of Vedeu classes/modules. (Useful for debugging.)
|
137
|
-
#
|
138
|
-
# @return [String]
|
139
|
-
def count
|
140
|
-
@count ||= "(#{classes.size}/#{vedeu_classes.size})"
|
141
|
-
end
|
142
|
-
|
143
|
-
# Returns the classes to be traced, without exceptions or ignored classes.
|
144
|
-
#
|
145
|
-
# @return [Set]
|
146
|
-
def classes
|
147
|
-
@classes ||= vedeu_classes - vedeu_exceptions - ignored_classes
|
148
|
-
end
|
149
|
-
|
150
|
-
# Returns all the classes defined within Vedeu.
|
151
|
-
#
|
152
|
-
# @return [Set]
|
153
|
-
def vedeu_classes
|
154
|
-
@vedeu_classes ||= Vedeu.constants.collect do |c|
|
155
|
-
Vedeu.const_get(c).to_s
|
156
|
-
end.to_set
|
157
|
-
end
|
158
|
-
|
159
|
-
# Returns all the exceptions defined within Vedeu.
|
160
|
-
#
|
161
|
-
# @todo Vedeu should produce this set.
|
162
|
-
#
|
163
|
-
# @return [Set]
|
164
|
-
def vedeu_exceptions
|
165
|
-
Vedeu::EXCEPTIONS.to_set
|
166
|
-
end
|
167
|
-
|
168
|
-
# Returns a set of classes to ignore during tracing.
|
169
|
-
#
|
170
|
-
# @todo Make this configurable at runtime.
|
171
|
-
#
|
172
|
-
# @return [Set]
|
173
|
-
def ignored_classes
|
174
|
-
Set.new [
|
175
|
-
'Vedeu::Coercions',
|
176
|
-
'Vedeu::Colour',
|
177
|
-
'Vedeu::Common',
|
178
|
-
'Vedeu::Configuration',
|
179
|
-
'Vedeu::Esc',
|
180
|
-
'Vedeu::Event',
|
181
|
-
'Vedeu::Geometry',
|
182
|
-
'Vedeu::Log',
|
183
|
-
'Vedeu::Position',
|
184
|
-
'Vedeu::Presentation',
|
185
|
-
'Vedeu::Repository',
|
186
|
-
'Vedeu::Stream',
|
187
|
-
'Vedeu::Style',
|
188
|
-
'Vedeu::Terminal',
|
189
|
-
'Vedeu::Trace',
|
190
|
-
'Vedeu::Translator',
|
191
|
-
]
|
192
|
-
end
|
193
|
-
|
194
|
-
end # Trace
|
195
|
-
# :nocov:
|
196
|
-
|
197
|
-
end # Vedeu
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
module Vedeu
|
4
|
-
|
5
|
-
describe Trace do
|
6
|
-
|
7
|
-
let(:described) { Vedeu::Trace }
|
8
|
-
let(:instance) { described.new(options) }
|
9
|
-
let(:options) { {} }
|
10
|
-
|
11
|
-
describe '#initialize' do
|
12
|
-
it { instance.must_be_instance_of(described) }
|
13
|
-
it { instance.instance_variable_get('@options').must_equal(options) }
|
14
|
-
end
|
15
|
-
|
16
|
-
describe '.call' do
|
17
|
-
subject { described.call(options) }
|
18
|
-
|
19
|
-
context 'when trace is enabled in the configuration' do
|
20
|
-
end
|
21
|
-
|
22
|
-
context 'when trace is disabled in the configuration' do
|
23
|
-
context 'and not enabled via the options' do
|
24
|
-
|
25
|
-
end
|
26
|
-
context 'but enabled via the options' do
|
27
|
-
let(:options) { { trace: true } }
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
end # Trace
|
34
|
-
|
35
|
-
end # Vedeu
|