vedeu 0.4.65 → 0.5.0
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 +1 -1
- data/lib/vedeu/all.rb +3 -4
- data/lib/vedeu/application/application_view.rb +8 -0
- data/lib/vedeu/colours/colour.rb +9 -6
- data/lib/vedeu/internal_api.rb +9 -0
- data/lib/vedeu/log/debug.rb +75 -0
- data/lib/vedeu/{log.rb → log/log.rb} +0 -0
- data/lib/vedeu/{timer.rb → log/timer.rb} +0 -0
- data/lib/vedeu/repositories.rb +1 -1
- data/lib/vedeu/templating/helpers.rb +10 -3
- data/lib/vedeu/templating/view_template.rb +1 -1
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/application/application_view_test.rb +7 -1
- data/test/lib/vedeu/internal_api_test.rb +1 -0
- data/test/lib/vedeu/log/debug_test.rb +16 -0
- data/test/lib/vedeu/{log_test.rb → log/log_test.rb} +0 -0
- data/test/lib/vedeu/{timer_test.rb → log/timer_test.rb} +0 -0
- data/test/lib/vedeu/repositories_test.rb +24 -3
- data/test/lib/vedeu/templating/helpers_test.rb +41 -14
- data/test/test_helper.rb +5 -0
- metadata +10 -13
- data/lib/vedeu/debug.rb +0 -69
- data/lib/vedeu/templating/view_helpers.rb +0 -33
- data/test/lib/vedeu/templating/view_helpers_test.rb +0 -139
- data/test/support/templates/simple_stuff.erb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7524aaacdae0af0c028b3fe2f6eabbea601099c8
|
4
|
+
data.tar.gz: a8ed59caec01210c9a71971828ffabf1c994fbc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91b571759068fef75df5942f4ca957a8d4237c2dc8b77731fb11df1178e043819f493ebf96d615b892172a9d29a2536f118ebee39d960e362b76c855ce4da4f3
|
7
|
+
data.tar.gz: 917454f5c7d6d280552259bc795dd9b54a16dc162b24919e3edc17f0e6c475f7b2cbece626626c0c4043294eb0ff5d375566486d54773a70901b7ac639534ccf
|
data/lib/vedeu.rb
CHANGED
data/lib/vedeu/all.rb
CHANGED
@@ -2,8 +2,9 @@ require 'vedeu/version'
|
|
2
2
|
require 'vedeu/runtime/launcher'
|
3
3
|
require 'vedeu/runtime/bootstrap'
|
4
4
|
require 'vedeu/exceptions'
|
5
|
-
require 'vedeu/log'
|
6
|
-
require 'vedeu/debug'
|
5
|
+
require 'vedeu/log/log'
|
6
|
+
require 'vedeu/log/debug'
|
7
|
+
require 'vedeu/log/timer'
|
7
8
|
require 'vedeu/traps'
|
8
9
|
require 'vedeu/common'
|
9
10
|
require 'vedeu/terminal_mode'
|
@@ -14,7 +15,6 @@ require 'vedeu/configuration/api'
|
|
14
15
|
require 'vedeu/configuration/configuration'
|
15
16
|
|
16
17
|
require 'vedeu/terminal'
|
17
|
-
require 'vedeu/timer'
|
18
18
|
require 'vedeu/runtime/main_loop'
|
19
19
|
require 'vedeu/runtime/application'
|
20
20
|
|
@@ -106,7 +106,6 @@ require 'vedeu/templating/all'
|
|
106
106
|
require 'vedeu/templating/encoder'
|
107
107
|
require 'vedeu/templating/decoder'
|
108
108
|
require 'vedeu/templating/helpers'
|
109
|
-
require 'vedeu/templating/view_helpers'
|
110
109
|
require 'vedeu/templating/template'
|
111
110
|
require 'vedeu/templating/view_template'
|
112
111
|
|
@@ -23,6 +23,14 @@ module Vedeu
|
|
23
23
|
@args = args
|
24
24
|
end
|
25
25
|
|
26
|
+
# @raise [Vedeu::NotImplemented] Subclasses of this class must implement
|
27
|
+
# this method.
|
28
|
+
def render
|
29
|
+
fail Vedeu::NotImplemented,
|
30
|
+
'The subclass of Vedeu::ApplicationView must implement the #render' \
|
31
|
+
'method.'
|
32
|
+
end
|
33
|
+
|
26
34
|
protected
|
27
35
|
|
28
36
|
# @!attribute [r] args
|
data/lib/vedeu/colours/colour.rb
CHANGED
@@ -44,14 +44,17 @@ module Vedeu
|
|
44
44
|
# @param value [Vedeu::Colour|Hash<Symbol => void>]
|
45
45
|
# @return [Object]
|
46
46
|
def self.coerce(value)
|
47
|
-
return value if value.is_a?(
|
48
|
-
return new
|
47
|
+
return value if value.is_a?(self)
|
48
|
+
return new unless value.is_a?(Hash)
|
49
49
|
|
50
|
-
if value.
|
51
|
-
|
50
|
+
if value[:colour] && value[:colour].is_a?(self)
|
51
|
+
value[:colour]
|
52
52
|
|
53
|
-
elsif value
|
54
|
-
new(value)
|
53
|
+
elsif value[:colour] && value[:colour].is_a?(Hash)
|
54
|
+
new(value[:colour])
|
55
|
+
|
56
|
+
elsif value[:background] || value[:foreground]
|
57
|
+
new(value)
|
55
58
|
|
56
59
|
else
|
57
60
|
new
|
data/lib/vedeu/internal_api.rb
CHANGED
@@ -46,6 +46,15 @@ module Vedeu
|
|
46
46
|
# @return [Vedeu::Cursors]
|
47
47
|
def_delegators Vedeu::Cursors, :cursors
|
48
48
|
|
49
|
+
# Allow debugging via the creation of stack traces courtesy of ruby-prof.
|
50
|
+
#
|
51
|
+
# @example
|
52
|
+
# Vedeu.debug
|
53
|
+
#
|
54
|
+
# @!method debug
|
55
|
+
# @return [Vedeu::Debug]
|
56
|
+
def_delegators Vedeu::Debug, :debug
|
57
|
+
|
49
58
|
# Manipulate the repository of events.
|
50
59
|
#
|
51
60
|
# @example
|
@@ -0,0 +1,75 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Debug
|
4
|
+
|
5
|
+
extend self
|
6
|
+
|
7
|
+
# :nocov:
|
8
|
+
# Helps to debug a running application by providing a stack trace of its
|
9
|
+
# execution upon exiting.
|
10
|
+
#
|
11
|
+
# @param filename [String]
|
12
|
+
# @return [void]
|
13
|
+
# @yieldreturn [void] The section of the application to debug.
|
14
|
+
def self.debug(filename = 'profile.html')
|
15
|
+
return nil unless block_given?
|
16
|
+
|
17
|
+
require 'ruby-prof'
|
18
|
+
|
19
|
+
# RubyProf.measure_mode = RubyProf::WALL_TIME
|
20
|
+
# RubyProf.measure_mode = RubyProf::PROCESS_TIME
|
21
|
+
RubyProf.measure_mode = RubyProf::CPU_TIME
|
22
|
+
# RubyProf.measure_mode = RubyProf::ALLOCATIONS
|
23
|
+
# RubyProf.measure_mode = RubyProf::MEMORY
|
24
|
+
# RubyProf.measure_mode = RubyProf::GC_TIME
|
25
|
+
# RubyProf.measure_mode = RubyProf::GC_RUNS
|
26
|
+
|
27
|
+
RubyProf.start
|
28
|
+
|
29
|
+
work = yield
|
30
|
+
|
31
|
+
result = RubyProf.stop
|
32
|
+
result.eliminate_methods!([
|
33
|
+
/^Array/,
|
34
|
+
/^Hash/,
|
35
|
+
/^String/,
|
36
|
+
/^Fixnum/,
|
37
|
+
])
|
38
|
+
|
39
|
+
File.open('/tmp/' + filename, 'w') do |file|
|
40
|
+
# - Creates a HTML visualization of the Ruby stack
|
41
|
+
RubyProf::CallStackPrinter.new(result).print(file)
|
42
|
+
|
43
|
+
# Used with QTCacheGrind to analyse performance.
|
44
|
+
# RubyProf::CallTreePrinter.new(result).print(file)
|
45
|
+
|
46
|
+
# Creates a flat report in text format
|
47
|
+
# RubyProf::FlatPrinter
|
48
|
+
|
49
|
+
# - same as above but more verbose
|
50
|
+
# RubyProf::FlatPrinterWithLineNumbers
|
51
|
+
|
52
|
+
# - Creates a call graph report in text format
|
53
|
+
# RubyProf::GraphPrinter
|
54
|
+
|
55
|
+
# - Creates a call graph report in HTML (separate files per thread)
|
56
|
+
# RubyProf::GraphHtmlPrinter
|
57
|
+
|
58
|
+
# - Creates a call graph report in GraphViz's DOT format which can be
|
59
|
+
# converted to an image
|
60
|
+
# RubyProf::DotPrinter
|
61
|
+
|
62
|
+
# - Creates a call tree report compatible with KCachegrind.
|
63
|
+
# RubyProf::CallTreePrinter
|
64
|
+
|
65
|
+
# - Uses the other printers to create several reports in one profiling run
|
66
|
+
# RubyProf::MultiPrinter
|
67
|
+
end
|
68
|
+
|
69
|
+
work
|
70
|
+
end
|
71
|
+
# :nocov:
|
72
|
+
|
73
|
+
end # Debug
|
74
|
+
|
75
|
+
end # Vedeu
|
File without changes
|
File without changes
|
data/lib/vedeu/repositories.rb
CHANGED
@@ -47,9 +47,16 @@ module Vedeu
|
|
47
47
|
def define_stream(attributes = {}, &block)
|
48
48
|
fail Vedeu::InvalidSyntax, 'block not given' unless block_given?
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
|
50
|
+
encode(
|
51
|
+
Vedeu::Stream.build(colour: Vedeu::Colour.new(attributes),
|
52
|
+
style: Vedeu::Style.new(attributes[:style]),
|
53
|
+
value: block.call))
|
54
|
+
end
|
55
|
+
|
56
|
+
# @param data [String]
|
57
|
+
# @return [String]
|
58
|
+
def encode(data)
|
59
|
+
Vedeu::Templating::Encoder.process(data)
|
53
60
|
end
|
54
61
|
|
55
62
|
end # Helpers
|
data/lib/vedeu/version.rb
CHANGED
@@ -14,7 +14,13 @@ module Vedeu
|
|
14
14
|
end
|
15
15
|
|
16
16
|
describe '.render' do
|
17
|
-
|
17
|
+
subject { described.render(object) }
|
18
|
+
|
19
|
+
it { proc { subject }.must_raise(Vedeu::NotImplemented) }
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '#render' do
|
23
|
+
it { instance.must_respond_to(:render) }
|
18
24
|
end
|
19
25
|
|
20
26
|
end # ApplicationView
|
@@ -8,6 +8,7 @@ module Vedeu
|
|
8
8
|
it { Vedeu.must_respond_to(:borders) }
|
9
9
|
it { Vedeu.must_respond_to(:buffers) }
|
10
10
|
it { Vedeu.must_respond_to(:cursors) }
|
11
|
+
it { Vedeu.must_respond_to(:debug) }
|
11
12
|
it { Vedeu.must_respond_to(:events) }
|
12
13
|
it { Vedeu.must_respond_to(:foreground_colours) }
|
13
14
|
it { Vedeu.must_respond_to(:geometries) }
|
File without changes
|
File without changes
|
@@ -4,16 +4,37 @@ module Vedeu
|
|
4
4
|
|
5
5
|
describe Repositories do
|
6
6
|
|
7
|
+
let(:described) { Vedeu::Repositories }
|
8
|
+
|
7
9
|
describe '.register' do
|
8
|
-
|
10
|
+
subject { described.register(klass) }
|
11
|
+
|
12
|
+
context 'when the klass is nil' do
|
13
|
+
let(:klass) {}
|
14
|
+
|
15
|
+
it { subject.must_equal(nil) }
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'when the klass is a repository class' do
|
19
|
+
let(:klass) { Vedeu::Buffers }
|
20
|
+
|
21
|
+
it { subject.wont_be_empty }
|
22
|
+
end
|
9
23
|
end
|
10
24
|
|
11
25
|
describe '.registered' do
|
12
|
-
|
26
|
+
before { described.reset! }
|
27
|
+
|
28
|
+
subject { described.registered }
|
29
|
+
|
30
|
+
# @todo
|
31
|
+
# it { skip }
|
13
32
|
end
|
14
33
|
|
15
34
|
describe '.reset!' do
|
16
|
-
|
35
|
+
subject { described.reset! }
|
36
|
+
|
37
|
+
it { subject.must_equal(true) }
|
17
38
|
end
|
18
39
|
|
19
40
|
end # Repositories
|
@@ -17,8 +17,12 @@ module Vedeu
|
|
17
17
|
|
18
18
|
describe '#background' do
|
19
19
|
let(:expected) {
|
20
|
-
|
21
|
-
|
20
|
+
"{{" \
|
21
|
+
"eJxdj00LwjAMhj1Ip7aKX3iW+Qd2zi5BUdhZ8d5tUYZzla4VxT9vrTrBXJI34UnetD" \
|
22
|
+
"sKxnvKyQJsjSZ5FjBEaYwuUmuofnDgWVlQZSJXqFJZ/QNWXgcOSGV2Omplq1zB7DNd" \
|
23
|
+
"Nj0GAt9sEopF5IMBW+8ceVCa/slN02OxSMIWi/s74BepvY1ebe4lKRg1tp1kwPEqS0" \
|
24
|
+
"tu7nMSTn+m5oZuxm/pVvJM35XO1fu1WGDg1PcCR38CRTzBPvTwxeDgCdSbXHg=" \
|
25
|
+
"}}"
|
22
26
|
}
|
23
27
|
|
24
28
|
subject { instance.background('#000000') { 'background text' } }
|
@@ -34,7 +38,7 @@ module Vedeu
|
|
34
38
|
subject { instance.colour(attributes) { 'colour text' } }
|
35
39
|
|
36
40
|
context 'with no attributes' do
|
37
|
-
it { subject.must_be_instance_of(
|
41
|
+
it { subject.must_be_instance_of(String) }
|
38
42
|
end
|
39
43
|
|
40
44
|
context 'with a background attribute' do
|
@@ -44,8 +48,13 @@ module Vedeu
|
|
44
48
|
}
|
45
49
|
}
|
46
50
|
let(:expected) {
|
47
|
-
|
48
|
-
|
51
|
+
"{{" \
|
52
|
+
"eJxdj08LwjAMxT1Ip7aKf8CzzC9QPGaXoCjsrHjvNMpwrlJbUfzy1k4neEpewu/l" \
|
53
|
+
"pdnSMNzSnhzA2hpSZwF9VNaaPHOWrk8OfFfkVFrpG11oZ37AIujIA5nanY5Gu3Kv" \
|
54
|
+
"YfzZzusZA4EVm8ZiKuVsJiUDttx48qAN/ZOresYSkcYNlnQ3wC/KhBidq30UpGFQ" \
|
55
|
+
"x/aSAcebKhz5fahp3K9OTizdbXBol+pMXzufqHorERh59XXnGOxRJCPsQgffDPZe" \
|
56
|
+
"Rsda7A==" \
|
57
|
+
"}}"
|
49
58
|
}
|
50
59
|
|
51
60
|
it { subject.must_equal(expected) }
|
@@ -58,8 +67,13 @@ module Vedeu
|
|
58
67
|
}
|
59
68
|
}
|
60
69
|
let(:expected) {
|
61
|
-
|
62
|
-
|
70
|
+
"{{" \
|
71
|
+
"eJxdj08LwjAMxT1I/dMqU8GzzC/gOb0ERWFnh/dOMxHnKrUVxS9v1+kEc2lewu/l" \
|
72
|
+
"td3VMN7RgRzA1hpSFwERKmvNKXOWbi8OfF+cqLQL3+hCO/MDVkF3PJCp/flotCsP" \
|
73
|
+
"Gqaf7bKZMRBYs0ncYsDWqUdybegf2TQzJkUSi3meL3wxOUiBX5UJMfo3+yxIw6iJ" \
|
74
|
+
"7SUDjndVOPL78CZxVJ+cWXrY4NAr1YWqBJXwiepvSYEdr77uHIM9CjnBAfSxYnD4" \
|
75
|
+
"BqMMW1Q=" \
|
76
|
+
"}}"
|
63
77
|
}
|
64
78
|
|
65
79
|
it { subject.must_equal(expected) }
|
@@ -73,8 +87,13 @@ module Vedeu
|
|
73
87
|
}
|
74
88
|
}
|
75
89
|
let(:expected) {
|
76
|
-
|
77
|
-
|
90
|
+
"{{" \
|
91
|
+
"eJxdj0sLwjAQhD1IfCSKD/As+geKF2F7WRQFz4r3VLci1kZiIop/3jXVCuaSzCzf" \
|
92
|
+
"7KRaN9Db0p48wNpZ0mcFHdTO2WPiHV2fEuQuO1LuIn6YzHj7A+ZB1xhI9O50sMbn" \
|
93
|
+
"ewODz3RWegIUFuxqpMYRn8lEgFhsmEyNpX9yWXoiVm8kTafTKBJxawPyom1o07y6" \
|
94
|
+
"R0YGumV7lgIk3nTmiefhXo06xeaho7sLCY1cn9mvBMHFit/FCmusvukSQzyquI8t" \
|
95
|
+
"aOKbwfYLqERctQ==" \
|
96
|
+
"}}"
|
78
97
|
}
|
79
98
|
|
80
99
|
it { subject.must_equal(expected) }
|
@@ -83,8 +102,12 @@ module Vedeu
|
|
83
102
|
|
84
103
|
describe '#foreground' do
|
85
104
|
let(:expected) {
|
86
|
-
|
87
|
-
|
105
|
+
"{{" \
|
106
|
+
"eJxdj08PATEQxR2ki3bFvzjL+gLOs5cJIdkzcS87ZKO2Uq0QX163WIm5dN5MfvNemy" \
|
107
|
+
"0Ngy3l5ADW1pA8C+ihtNYUO2fp+uTA96qg0s58o5V25gcsgo48sJP709FoV+Yaxp/t" \
|
108
|
+
"vJ4xEPhms6TBgC03HjloQ//Iqp6xVGSJmM5CsTTeAL9IE2J0rvahSEO/ju0lA443qR" \
|
109
|
+
"z5fXizZPRzmFi623ClXcozVSkq4VO9v5YKjLz6OnAMFijSIcbQwYrB7gsCxlyT" \
|
110
|
+
"}}"
|
88
111
|
}
|
89
112
|
|
90
113
|
subject { instance.foreground('#000000') { 'foreground text' } }
|
@@ -96,8 +119,12 @@ module Vedeu
|
|
96
119
|
|
97
120
|
describe '#style' do
|
98
121
|
let(:expected) {
|
99
|
-
|
100
|
-
|
122
|
+
"{{" \
|
123
|
+
"eJxdj08LwjAMxT1I59b6HzzLPoHn7BIUBc+K926LItZVaiuKX96u6gRveUl+7yXtjo" \
|
124
|
+
"bRjkpyABtrSJ4FDFBaa465s3R9cuCFOlJlZ77QSjvzAxZBRx7IZXE6GO2qUsPkM503" \
|
125
|
+
"PQYC3+w6bTFgy61H9trQP7JqeiwT9W7W3QK/SBPyk6t9KNIwbO71kgHHm1SOIM61Ki" \
|
126
|
+
"EJYp32w/LU0t0Gl7iSZ/pa+nPeP2UCI6++CRwDhSIbYxcSrBnsvQDMNVrp" \
|
127
|
+
"}}"
|
101
128
|
}
|
102
129
|
|
103
130
|
subject { instance.style(:bold) { 'style text' } }
|
@@ -105,7 +132,7 @@ module Vedeu
|
|
105
132
|
it { subject.must_equal(expected) }
|
106
133
|
end
|
107
134
|
|
108
|
-
end #
|
135
|
+
end # ViewHelpers
|
109
136
|
|
110
137
|
end # Templating
|
111
138
|
|
data/test/test_helper.rb
CHANGED
@@ -19,8 +19,10 @@ SimpleCov.start do
|
|
19
19
|
add_filter '/test/'
|
20
20
|
add_group 'application', 'vedeu/application'
|
21
21
|
add_group 'bindings', 'vedeu/bindings'
|
22
|
+
add_group 'borders', 'vedeu/borders'
|
22
23
|
add_group 'buffers', 'vedeu/buffers'
|
23
24
|
add_group 'cli', 'vedeu/cli'
|
25
|
+
add_group 'colours', 'vedeu/colours'
|
24
26
|
add_group 'configuration', 'vedeu/configuration'
|
25
27
|
add_group 'cursor', 'vedeu/cursor'
|
26
28
|
add_group 'distributed', 'vedeu/distributed'
|
@@ -28,10 +30,13 @@ SimpleCov.start do
|
|
28
30
|
add_group 'events', 'vedeu/events'
|
29
31
|
add_group 'geometry', 'vedeu/geometry'
|
30
32
|
add_group 'input', 'vedeu/input'
|
33
|
+
add_group 'log', 'vedeu/log'
|
31
34
|
add_group 'models', 'vedeu/models'
|
32
35
|
add_group 'null', 'vedeu/null'
|
33
36
|
add_group 'output', 'vedeu/output'
|
37
|
+
add_group 'plugins', 'vedeu/plygins'
|
34
38
|
add_group 'repositories', 'vedeu/repositories'
|
39
|
+
add_group 'runtime', 'vedeu/runtime'
|
35
40
|
add_group 'templating', 'vedeu/templating'
|
36
41
|
end unless ENV['NO_SIMPLECOV']
|
37
42
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vedeu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
@@ -322,7 +322,6 @@ files:
|
|
322
322
|
- lib/vedeu/cursor/move.rb
|
323
323
|
- lib/vedeu/cursor/refresh_cursor.rb
|
324
324
|
- lib/vedeu/cursor/reposition.rb
|
325
|
-
- lib/vedeu/debug.rb
|
326
325
|
- lib/vedeu/distributed/client.rb
|
327
326
|
- lib/vedeu/distributed/server.rb
|
328
327
|
- lib/vedeu/distributed/subprocess.rb
|
@@ -373,7 +372,9 @@ files:
|
|
373
372
|
- lib/vedeu/input/keys.rb
|
374
373
|
- lib/vedeu/input/mapper.rb
|
375
374
|
- lib/vedeu/internal_api.rb
|
376
|
-
- lib/vedeu/log.rb
|
375
|
+
- lib/vedeu/log/debug.rb
|
376
|
+
- lib/vedeu/log/log.rb
|
377
|
+
- lib/vedeu/log/timer.rb
|
377
378
|
- lib/vedeu/models/cell.rb
|
378
379
|
- lib/vedeu/models/char.rb
|
379
380
|
- lib/vedeu/models/chars.rb
|
@@ -442,11 +443,9 @@ files:
|
|
442
443
|
- lib/vedeu/templating/encoder.rb
|
443
444
|
- lib/vedeu/templating/helpers.rb
|
444
445
|
- lib/vedeu/templating/template.rb
|
445
|
-
- lib/vedeu/templating/view_helpers.rb
|
446
446
|
- lib/vedeu/templating/view_template.rb
|
447
447
|
- lib/vedeu/terminal.rb
|
448
448
|
- lib/vedeu/terminal_mode.rb
|
449
|
-
- lib/vedeu/timer.rb
|
450
449
|
- lib/vedeu/traps.rb
|
451
450
|
- lib/vedeu/version.rb
|
452
451
|
- test/lib/vedeu/api_test.rb
|
@@ -530,7 +529,9 @@ files:
|
|
530
529
|
- test/lib/vedeu/input/keys_test.rb
|
531
530
|
- test/lib/vedeu/input/mapper_test.rb
|
532
531
|
- test/lib/vedeu/internal_api_test.rb
|
533
|
-
- test/lib/vedeu/
|
532
|
+
- test/lib/vedeu/log/debug_test.rb
|
533
|
+
- test/lib/vedeu/log/log_test.rb
|
534
|
+
- test/lib/vedeu/log/timer_test.rb
|
534
535
|
- test/lib/vedeu/models/cell_test.rb
|
535
536
|
- test/lib/vedeu/models/char_test.rb
|
536
537
|
- test/lib/vedeu/models/chars_test.rb
|
@@ -596,11 +597,9 @@ files:
|
|
596
597
|
- test/lib/vedeu/templating/encoder_test.rb
|
597
598
|
- test/lib/vedeu/templating/helpers_test.rb
|
598
599
|
- test/lib/vedeu/templating/template_test.rb
|
599
|
-
- test/lib/vedeu/templating/view_helpers_test.rb
|
600
600
|
- test/lib/vedeu/templating/view_template_test.rb
|
601
601
|
- test/lib/vedeu/terminal_mode_test.rb
|
602
602
|
- test/lib/vedeu/terminal_test.rb
|
603
|
-
- test/lib/vedeu/timer_test.rb
|
604
603
|
- test/lib/vedeu/traps_test.rb
|
605
604
|
- test/lib/vedeu_test.rb
|
606
605
|
- test/support/all_seeds.sh
|
@@ -612,7 +611,6 @@ files:
|
|
612
611
|
- test/support/templates/foreground.erb
|
613
612
|
- test/support/templates/multiple.erb
|
614
613
|
- test/support/templates/plain.erb
|
615
|
-
- test/support/templates/simple_stuff.erb
|
616
614
|
- test/support/templates/style.erb
|
617
615
|
- test/test_helper.rb
|
618
616
|
- vedeu.gemspec
|
@@ -722,7 +720,9 @@ test_files:
|
|
722
720
|
- test/lib/vedeu/input/keys_test.rb
|
723
721
|
- test/lib/vedeu/input/mapper_test.rb
|
724
722
|
- test/lib/vedeu/internal_api_test.rb
|
725
|
-
- test/lib/vedeu/
|
723
|
+
- test/lib/vedeu/log/debug_test.rb
|
724
|
+
- test/lib/vedeu/log/log_test.rb
|
725
|
+
- test/lib/vedeu/log/timer_test.rb
|
726
726
|
- test/lib/vedeu/models/cell_test.rb
|
727
727
|
- test/lib/vedeu/models/char_test.rb
|
728
728
|
- test/lib/vedeu/models/chars_test.rb
|
@@ -788,11 +788,9 @@ test_files:
|
|
788
788
|
- test/lib/vedeu/templating/encoder_test.rb
|
789
789
|
- test/lib/vedeu/templating/helpers_test.rb
|
790
790
|
- test/lib/vedeu/templating/template_test.rb
|
791
|
-
- test/lib/vedeu/templating/view_helpers_test.rb
|
792
791
|
- test/lib/vedeu/templating/view_template_test.rb
|
793
792
|
- test/lib/vedeu/terminal_mode_test.rb
|
794
793
|
- test/lib/vedeu/terminal_test.rb
|
795
|
-
- test/lib/vedeu/timer_test.rb
|
796
794
|
- test/lib/vedeu/traps_test.rb
|
797
795
|
- test/lib/vedeu_test.rb
|
798
796
|
- test/support/all_seeds.sh
|
@@ -804,7 +802,6 @@ test_files:
|
|
804
802
|
- test/support/templates/foreground.erb
|
805
803
|
- test/support/templates/multiple.erb
|
806
804
|
- test/support/templates/plain.erb
|
807
|
-
- test/support/templates/simple_stuff.erb
|
808
805
|
- test/support/templates/style.erb
|
809
806
|
- test/test_helper.rb
|
810
807
|
has_rdoc:
|
data/lib/vedeu/debug.rb
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
module Vedeu
|
2
|
-
|
3
|
-
# :nocov:
|
4
|
-
# Helps to debug a running application by providing a stack trace of its
|
5
|
-
# execution upon exiting.
|
6
|
-
#
|
7
|
-
# @param filename [String]
|
8
|
-
# @return [void]
|
9
|
-
# @yieldreturn [void] The section of the application to debug.
|
10
|
-
def self.debug(filename = 'profile.html')
|
11
|
-
return nil unless block_given?
|
12
|
-
|
13
|
-
require 'ruby-prof'
|
14
|
-
|
15
|
-
# RubyProf.measure_mode = RubyProf::WALL_TIME
|
16
|
-
# RubyProf.measure_mode = RubyProf::PROCESS_TIME
|
17
|
-
RubyProf.measure_mode = RubyProf::CPU_TIME
|
18
|
-
# RubyProf.measure_mode = RubyProf::ALLOCATIONS
|
19
|
-
# RubyProf.measure_mode = RubyProf::MEMORY
|
20
|
-
# RubyProf.measure_mode = RubyProf::GC_TIME
|
21
|
-
# RubyProf.measure_mode = RubyProf::GC_RUNS
|
22
|
-
|
23
|
-
RubyProf.start
|
24
|
-
|
25
|
-
work = yield
|
26
|
-
|
27
|
-
result = RubyProf.stop
|
28
|
-
result.eliminate_methods!([
|
29
|
-
/^Array/,
|
30
|
-
/^Hash/,
|
31
|
-
/^String/,
|
32
|
-
/^Fixnum/,
|
33
|
-
])
|
34
|
-
|
35
|
-
File.open('/tmp/' + filename, 'w') do |file|
|
36
|
-
# - Creates a HTML visualization of the Ruby stack
|
37
|
-
RubyProf::CallStackPrinter.new(result).print(file)
|
38
|
-
|
39
|
-
# Used with QTCacheGrind to analyse performance.
|
40
|
-
# RubyProf::CallTreePrinter.new(result).print(file)
|
41
|
-
|
42
|
-
# Creates a flat report in text format
|
43
|
-
# RubyProf::FlatPrinter
|
44
|
-
|
45
|
-
# - same as above but more verbose
|
46
|
-
# RubyProf::FlatPrinterWithLineNumbers
|
47
|
-
|
48
|
-
# - Creates a call graph report in text format
|
49
|
-
# RubyProf::GraphPrinter
|
50
|
-
|
51
|
-
# - Creates a call graph report in HTML (separate files per thread)
|
52
|
-
# RubyProf::GraphHtmlPrinter
|
53
|
-
|
54
|
-
# - Creates a call graph report in GraphViz's DOT format which can be
|
55
|
-
# converted to an image
|
56
|
-
# RubyProf::DotPrinter
|
57
|
-
|
58
|
-
# - Creates a call tree report compatible with KCachegrind.
|
59
|
-
# RubyProf::CallTreePrinter
|
60
|
-
|
61
|
-
# - Uses the other printers to create several reports in one profiling run
|
62
|
-
# RubyProf::MultiPrinter
|
63
|
-
end
|
64
|
-
|
65
|
-
work
|
66
|
-
end
|
67
|
-
# :nocov:
|
68
|
-
|
69
|
-
end # Vedeu
|
@@ -1,33 +0,0 @@
|
|
1
|
-
module Vedeu
|
2
|
-
|
3
|
-
module Templating
|
4
|
-
|
5
|
-
# Provide helpers to be used with your Vedeu templates.
|
6
|
-
#
|
7
|
-
module ViewHelpers
|
8
|
-
|
9
|
-
include Vedeu::Templating::Helpers
|
10
|
-
|
11
|
-
private
|
12
|
-
|
13
|
-
# @see Vedeu::Templating::Helpers#colour
|
14
|
-
def define_stream(attributes = {}, &block)
|
15
|
-
fail Vedeu::InvalidSyntax, 'block not given' unless block_given?
|
16
|
-
|
17
|
-
encode(
|
18
|
-
Vedeu::Stream.build(colour: Vedeu::Colour.new(attributes),
|
19
|
-
style: Vedeu::Style.new(attributes[:style]),
|
20
|
-
value: block.call))
|
21
|
-
end
|
22
|
-
|
23
|
-
# @param data [String]
|
24
|
-
# @return [String]
|
25
|
-
def encode(data)
|
26
|
-
Vedeu::Templating::Encoder.process(data)
|
27
|
-
end
|
28
|
-
|
29
|
-
end # ViewHelpers
|
30
|
-
|
31
|
-
end # Templating
|
32
|
-
|
33
|
-
end # Vedeu
|
@@ -1,139 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
module Vedeu
|
4
|
-
|
5
|
-
module Templating
|
6
|
-
|
7
|
-
class ViewHelpersTestClass
|
8
|
-
|
9
|
-
include Vedeu::Templating::ViewHelpers
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
describe ViewHelpers do
|
14
|
-
|
15
|
-
let(:described) { Vedeu::Templating::ViewHelpers }
|
16
|
-
let(:instance) { Vedeu::Templating::ViewHelpersTestClass.new }
|
17
|
-
|
18
|
-
describe '#background' do
|
19
|
-
let(:expected) {
|
20
|
-
"{{" \
|
21
|
-
"eJxdj00LwjAMhj1Ip7aKX3iW+Qd2zi5BUdhZ8d5tUYZzla4VxT9vrTrBXJI34UnetD" \
|
22
|
-
"sKxnvKyQJsjSZ5FjBEaYwuUmuofnDgWVlQZSJXqFJZ/QNWXgcOSGV2Omplq1zB7DNd" \
|
23
|
-
"Nj0GAt9sEopF5IMBW+8ceVCa/slN02OxSMIWi/s74BepvY1ebe4lKRg1tp1kwPEqS0" \
|
24
|
-
"tu7nMSTn+m5oZuxm/pVvJM35XO1fu1WGDg1PcCR38CRTzBPvTwxeDgCdSbXHg=" \
|
25
|
-
"}}"
|
26
|
-
}
|
27
|
-
|
28
|
-
subject { instance.background('#000000') { 'background text' } }
|
29
|
-
|
30
|
-
it { instance.must_respond_to(:bg) }
|
31
|
-
|
32
|
-
it { subject.must_equal(expected) }
|
33
|
-
end
|
34
|
-
|
35
|
-
describe '#colour' do
|
36
|
-
let(:attributes) { {} }
|
37
|
-
|
38
|
-
subject { instance.colour(attributes) { 'colour text' } }
|
39
|
-
|
40
|
-
context 'with no attributes' do
|
41
|
-
it { subject.must_be_instance_of(String) }
|
42
|
-
end
|
43
|
-
|
44
|
-
context 'with a background attribute' do
|
45
|
-
let(:attributes) {
|
46
|
-
{
|
47
|
-
background: '#002200'
|
48
|
-
}
|
49
|
-
}
|
50
|
-
let(:expected) {
|
51
|
-
"{{" \
|
52
|
-
"eJxdj08LwjAMxT1Ip7aKf8CzzC9QPGaXoCjsrHjvNMpwrlJbUfzy1k4neEpewu/l" \
|
53
|
-
"pdnSMNzSnhzA2hpSZwF9VNaaPHOWrk8OfFfkVFrpG11oZ37AIujIA5nanY5Gu3Kv" \
|
54
|
-
"YfzZzusZA4EVm8ZiKuVsJiUDttx48qAN/ZOresYSkcYNlnQ3wC/KhBidq30UpGFQ" \
|
55
|
-
"x/aSAcebKhz5fahp3K9OTizdbXBol+pMXzufqHorERh59XXnGOxRJCPsQgffDPZe" \
|
56
|
-
"Rsda7A==" \
|
57
|
-
"}}"
|
58
|
-
}
|
59
|
-
|
60
|
-
it { subject.must_equal(expected) }
|
61
|
-
end
|
62
|
-
|
63
|
-
context 'with a foreground attribute' do
|
64
|
-
let(:attributes) {
|
65
|
-
{
|
66
|
-
foreground: '#ff0000'
|
67
|
-
}
|
68
|
-
}
|
69
|
-
let(:expected) {
|
70
|
-
"{{" \
|
71
|
-
"eJxdj08LwjAMxT1I/dMqU8GzzC/gOb0ERWFnh/dOMxHnKrUVxS9v1+kEc2lewu/l" \
|
72
|
-
"td3VMN7RgRzA1hpSFwERKmvNKXOWbi8OfF+cqLQL3+hCO/MDVkF3PJCp/flotCsP" \
|
73
|
-
"Gqaf7bKZMRBYs0ncYsDWqUdybegf2TQzJkUSi3meL3wxOUiBX5UJMfo3+yxIw6iJ" \
|
74
|
-
"7SUDjndVOPL78CZxVJ+cWXrY4NAr1YWqBJXwiepvSYEdr77uHIM9CjnBAfSxYnD4" \
|
75
|
-
"BqMMW1Q=" \
|
76
|
-
"}}"
|
77
|
-
}
|
78
|
-
|
79
|
-
it { subject.must_equal(expected) }
|
80
|
-
end
|
81
|
-
|
82
|
-
context 'with both attributes' do
|
83
|
-
let(:attributes) {
|
84
|
-
{
|
85
|
-
background: '#000022',
|
86
|
-
foreground: '#ff7700',
|
87
|
-
}
|
88
|
-
}
|
89
|
-
let(:expected) {
|
90
|
-
"{{" \
|
91
|
-
"eJxdj0sLwjAQhD1IfCSKD/As+geKF2F7WRQFz4r3VLci1kZiIop/3jXVCuaSzCzf" \
|
92
|
-
"7KRaN9Db0p48wNpZ0mcFHdTO2WPiHV2fEuQuO1LuIn6YzHj7A+ZB1xhI9O50sMbn" \
|
93
|
-
"ewODz3RWegIUFuxqpMYRn8lEgFhsmEyNpX9yWXoiVm8kTafTKBJxawPyom1o07y6" \
|
94
|
-
"R0YGumV7lgIk3nTmiefhXo06xeaho7sLCY1cn9mvBMHFit/FCmusvukSQzyquI8t" \
|
95
|
-
"aOKbwfYLqERctQ==" \
|
96
|
-
"}}"
|
97
|
-
}
|
98
|
-
|
99
|
-
it { subject.must_equal(expected) }
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
describe '#foreground' do
|
104
|
-
let(:expected) {
|
105
|
-
"{{" \
|
106
|
-
"eJxdj08PATEQxR2ki3bFvzjL+gLOs5cJIdkzcS87ZKO2Uq0QX163WIm5dN5MfvNemy" \
|
107
|
-
"0Ngy3l5ADW1pA8C+ihtNYUO2fp+uTA96qg0s58o5V25gcsgo48sJP709FoV+Yaxp/t" \
|
108
|
-
"vJ4xEPhms6TBgC03HjloQ//Iqp6xVGSJmM5CsTTeAL9IE2J0rvahSEO/ju0lA443qR" \
|
109
|
-
"z5fXizZPRzmFi623ClXcozVSkq4VO9v5YKjLz6OnAMFijSIcbQwYrB7gsCxlyT" \
|
110
|
-
"}}"
|
111
|
-
}
|
112
|
-
|
113
|
-
subject { instance.foreground('#000000') { 'foreground text' } }
|
114
|
-
|
115
|
-
it { instance.must_respond_to(:fg) }
|
116
|
-
|
117
|
-
it { subject.must_equal(expected) }
|
118
|
-
end
|
119
|
-
|
120
|
-
describe '#style' do
|
121
|
-
let(:expected) {
|
122
|
-
"{{" \
|
123
|
-
"eJxdj08LwjAMxT1I59b6HzzLPoHn7BIUBc+K926LItZVaiuKX96u6gRveUl+7yXtjo" \
|
124
|
-
"bRjkpyABtrSJ4FDFBaa465s3R9cuCFOlJlZ77QSjvzAxZBRx7IZXE6GO2qUsPkM503" \
|
125
|
-
"PQYC3+w6bTFgy61H9trQP7JqeiwT9W7W3QK/SBPyk6t9KNIwbO71kgHHm1SOIM61Ki" \
|
126
|
-
"EJYp32w/LU0t0Gl7iSZ/pa+nPeP2UCI6++CRwDhSIbYxcSrBnsvQDMNVrp" \
|
127
|
-
"}}"
|
128
|
-
}
|
129
|
-
|
130
|
-
subject { instance.style(:bold) { 'style text' } }
|
131
|
-
|
132
|
-
it { subject.must_equal(expected) }
|
133
|
-
end
|
134
|
-
|
135
|
-
end # ViewHelpers
|
136
|
-
|
137
|
-
end # Templating
|
138
|
-
|
139
|
-
end # Vedeu
|