vedeu 0.8.22 → 0.8.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/integrations/test_runner.rb +4 -1
- data/lib/vedeu/buffers/empty.rb +1 -1
- data/lib/vedeu/cells/borders/corner.rb +1 -1
- data/lib/vedeu/cells/empty.rb +5 -0
- data/lib/vedeu/configuration/api.rb +106 -106
- data/lib/vedeu/editor/cropper.rb +3 -9
- data/lib/vedeu/editor/cursor.rb +10 -6
- data/lib/vedeu/output/compressors/character.rb +23 -11
- data/lib/vedeu/output/write.rb +1 -1
- data/lib/vedeu/presentation/position.rb +2 -2
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/buffers/empty_test.rb +0 -1
- data/test/lib/vedeu/cells/empty_test.rb +18 -4
- data/vedeu.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23c1d81d7fc643062c5bfe739de370ff0e5dc948
|
4
|
+
data.tar.gz: 4083354c5c95d5828d7108d1f1870ddbf934f38c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31993a416e19b815f8d471d0a23364918c07d070ae9823c17316393b1523f6a2a4780eff35ea05bef6c6ab1a82d61f7b2eabadcba074407874102a0dd574f416
|
7
|
+
data.tar.gz: b9b5bed7178bac6915911f7d4c0b19081a1c5c8094622d4d1e25e10dcbeab4c28b129188bed49487e03c20c1b1b108125d3bd2ca415a9e6533774366e94fd858
|
data/.rubocop.yml
CHANGED
data/integrations/test_runner.rb
CHANGED
@@ -16,15 +16,17 @@ class TestRunner
|
|
16
16
|
# @return [TestRunner]
|
17
17
|
def initialize(testcase, filename)
|
18
18
|
@testcase = testcase
|
19
|
-
@filename
|
19
|
+
@filename = filename
|
20
20
|
end
|
21
21
|
|
22
22
|
# @return [void]
|
23
23
|
def result
|
24
24
|
print "\e[36m#{filename}: "
|
25
|
+
|
25
26
|
if expected == actual
|
26
27
|
print "\e[32mPassed.\e[39m\n"
|
27
28
|
exit 0;
|
29
|
+
|
28
30
|
else
|
29
31
|
print "\e[31mFailed.\e[39m\n"
|
30
32
|
puts "\e[33mExpected:\e[39m"
|
@@ -32,6 +34,7 @@ class TestRunner
|
|
32
34
|
puts "\e[34mActual:\e[39m"
|
33
35
|
puts actual.inspect
|
34
36
|
exit 1;
|
37
|
+
|
35
38
|
end
|
36
39
|
end
|
37
40
|
|
data/lib/vedeu/buffers/empty.rb
CHANGED
data/lib/vedeu/cells/empty.rb
CHANGED
@@ -36,6 +36,52 @@ module Vedeu
|
|
36
36
|
instance_eval(&block) if block_given?
|
37
37
|
end
|
38
38
|
|
39
|
+
# {include:file:docs/configuration/background.md}
|
40
|
+
# @param value [String]
|
41
|
+
# @return [Vedeu::Colours::Background]
|
42
|
+
def background(value = nil)
|
43
|
+
return options[:background] unless value
|
44
|
+
|
45
|
+
options[:background] = value
|
46
|
+
end
|
47
|
+
|
48
|
+
# {include:file:docs/configuration/base_path.md}
|
49
|
+
# @param path [String]
|
50
|
+
# @return [String]
|
51
|
+
def base_path(path = nil)
|
52
|
+
options[:base_path] = path
|
53
|
+
end
|
54
|
+
|
55
|
+
# {include:file:docs/configuration/colour.md}
|
56
|
+
# @param attrs [Hash<Symbol => String>]
|
57
|
+
# @return [Hash<Symbol => void>]
|
58
|
+
def colour(attrs = {})
|
59
|
+
options[:background] = attrs[:background] if attrs.key?(:background)
|
60
|
+
options[:foreground] = attrs[:foreground] if attrs.key?(:foreground)
|
61
|
+
options
|
62
|
+
end
|
63
|
+
|
64
|
+
# {include:file:docs/configuration/colour_mode.md}
|
65
|
+
# @param value [Fixnum]
|
66
|
+
# @macro raise_invalid_syntax
|
67
|
+
# @return [Boolean]
|
68
|
+
def colour_mode(value = nil)
|
69
|
+
unless valid_colour_mode?(value)
|
70
|
+
raise Vedeu::Error::InvalidSyntax,
|
71
|
+
'`colour_mode` must be `8`, `16`, `256`, `16777216`.'
|
72
|
+
end
|
73
|
+
|
74
|
+
options[:colour_mode] = value
|
75
|
+
end
|
76
|
+
|
77
|
+
# {include:file:docs/configuration/compression.md}
|
78
|
+
# @param value [Boolean]
|
79
|
+
# @return [Boolean]
|
80
|
+
def compression(value = true)
|
81
|
+
options[:compression] = value
|
82
|
+
end
|
83
|
+
alias compression! compression
|
84
|
+
|
39
85
|
# Returns the configuration options set up by the API DSL.
|
40
86
|
#
|
41
87
|
# @return [Hash<Symbol => Boolean, Fixnum, String>]
|
@@ -58,29 +104,20 @@ module Vedeu
|
|
58
104
|
options
|
59
105
|
end
|
60
106
|
|
61
|
-
# {include:file:docs/configuration/
|
62
|
-
# @param value [Boolean]
|
63
|
-
# @return [Boolean]
|
64
|
-
def interactive!(value = true)
|
65
|
-
options[:interactive] = value
|
66
|
-
end
|
67
|
-
alias interactive interactive!
|
68
|
-
|
69
|
-
# {include:file:docs/configuration/standalone.md}
|
70
|
-
# @param value [Boolean]
|
107
|
+
# {include:file:docs/configuration/cooked.md}
|
71
108
|
# @return [Boolean]
|
72
|
-
def
|
73
|
-
options[:
|
109
|
+
def cooked!
|
110
|
+
options[:terminal_mode] = :cooked
|
74
111
|
end
|
75
|
-
alias
|
112
|
+
alias cooked cooked!
|
76
113
|
|
77
|
-
# {include:file:docs/configuration/
|
114
|
+
# {include:file:docs/configuration/debug.md}
|
78
115
|
# @param value [Boolean]
|
79
116
|
# @return [Boolean]
|
80
|
-
def
|
81
|
-
options[:
|
117
|
+
def debug!(value = true)
|
118
|
+
options[:debug] = value
|
82
119
|
end
|
83
|
-
alias
|
120
|
+
alias debug debug!
|
84
121
|
|
85
122
|
# {include:file:docs/configuration/drb.md}
|
86
123
|
# @param value [Boolean]
|
@@ -90,6 +127,13 @@ module Vedeu
|
|
90
127
|
end
|
91
128
|
alias drb drb!
|
92
129
|
|
130
|
+
# {include:file:docs/configuration/drb_height.md}
|
131
|
+
# @param height [Fixnum]
|
132
|
+
# @return [Fixnum]
|
133
|
+
def drb_height(height = 25)
|
134
|
+
options[:drb_height] = height
|
135
|
+
end
|
136
|
+
|
93
137
|
# {include:file:docs/configuration/drb_host.md}
|
94
138
|
# @param hostname [String]
|
95
139
|
# @return [String]
|
@@ -104,13 +148,6 @@ module Vedeu
|
|
104
148
|
options[:drb_port] = port
|
105
149
|
end
|
106
150
|
|
107
|
-
# {include:file:docs/configuration/drb_height.md}
|
108
|
-
# @param height [Fixnum]
|
109
|
-
# @return [Fixnum]
|
110
|
-
def drb_height(height = 25)
|
111
|
-
options[:drb_height] = height
|
112
|
-
end
|
113
|
-
|
114
151
|
# {include:file:docs/configuration/drb_width.md}
|
115
152
|
# @param width [Fixnum]
|
116
153
|
# @return [Fixnum]
|
@@ -118,13 +155,6 @@ module Vedeu
|
|
118
155
|
options[:drb_width] = width
|
119
156
|
end
|
120
157
|
|
121
|
-
# {include:file:docs/configuration/cooked.md}
|
122
|
-
# @return [Boolean]
|
123
|
-
def cooked!
|
124
|
-
options[:terminal_mode] = :cooked
|
125
|
-
end
|
126
|
-
alias cooked cooked!
|
127
|
-
|
128
158
|
# {include:file:docs/configuration/fake.md}
|
129
159
|
# @return [Boolean]
|
130
160
|
def fake!
|
@@ -132,32 +162,13 @@ module Vedeu
|
|
132
162
|
end
|
133
163
|
alias fake fake!
|
134
164
|
|
135
|
-
# {include:file:docs/configuration/
|
136
|
-
# @
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
alias raw raw!
|
141
|
-
|
142
|
-
# {include:file:docs/configuration/debug.md}
|
143
|
-
# @param value [Boolean]
|
144
|
-
# @return [Boolean]
|
145
|
-
def debug!(value = true)
|
146
|
-
options[:debug] = value
|
147
|
-
end
|
148
|
-
alias debug debug!
|
149
|
-
|
150
|
-
# {include:file:docs/configuration/colour_mode.md}
|
151
|
-
# @param value [Fixnum]
|
152
|
-
# @macro raise_invalid_syntax
|
153
|
-
# @return [Boolean]
|
154
|
-
def colour_mode(value = nil)
|
155
|
-
unless valid_colour_mode?(value)
|
156
|
-
raise Vedeu::Error::InvalidSyntax,
|
157
|
-
'`colour_mode` must be `8`, `16`, `256`, `16777216`.'
|
158
|
-
end
|
165
|
+
# {include:file:docs/configuration/foreground.md}
|
166
|
+
# @param value [String]
|
167
|
+
# @return [Vedeu::Colours::Foreground]
|
168
|
+
def foreground(value = nil)
|
169
|
+
return options[:foreground] unless value
|
159
170
|
|
160
|
-
options[:
|
171
|
+
options[:foreground] = value
|
161
172
|
end
|
162
173
|
|
163
174
|
# {include:file:docs/configuration/height.md}
|
@@ -168,6 +179,14 @@ module Vedeu
|
|
168
179
|
end
|
169
180
|
alias height= height
|
170
181
|
|
182
|
+
# {include:file:docs/configuration/interactive.md}
|
183
|
+
# @param value [Boolean]
|
184
|
+
# @return [Boolean]
|
185
|
+
def interactive!(value = true)
|
186
|
+
options[:interactive] = value
|
187
|
+
end
|
188
|
+
alias interactive interactive!
|
189
|
+
|
171
190
|
# {include:file:docs/configuration/log.md}
|
172
191
|
# @param filename_or_false [FalseClass|String]
|
173
192
|
# @return [NilClass|String]
|
@@ -199,6 +218,14 @@ module Vedeu
|
|
199
218
|
options[:log_only] = types.flatten
|
200
219
|
end
|
201
220
|
|
221
|
+
# {include:file:docs/configuration/mouse.md}
|
222
|
+
# @param value [Boolean]
|
223
|
+
# @return [Boolean]
|
224
|
+
def mouse!(value = true)
|
225
|
+
options[:mouse] = value
|
226
|
+
end
|
227
|
+
alias mouse mouse!
|
228
|
+
|
202
229
|
# {include:file:docs/configuration/profile.md}
|
203
230
|
# @param value [Boolean]
|
204
231
|
# @return [Boolean]
|
@@ -207,6 +234,13 @@ module Vedeu
|
|
207
234
|
end
|
208
235
|
alias profile profile!
|
209
236
|
|
237
|
+
# {include:file:docs/configuration/raw.md}
|
238
|
+
# @return [Boolean]
|
239
|
+
def raw!
|
240
|
+
options[:terminal_mode] = :raw
|
241
|
+
end
|
242
|
+
alias raw raw!
|
243
|
+
|
210
244
|
# {include:file:docs/configuration/renderer.md}
|
211
245
|
# @param renderer [Array<Class>|Class]
|
212
246
|
# @return [Array<Class>]
|
@@ -215,13 +249,6 @@ module Vedeu
|
|
215
249
|
end
|
216
250
|
alias renderers renderer
|
217
251
|
|
218
|
-
# {include:file:docs/configuration/base_path.md}
|
219
|
-
# @param path [String]
|
220
|
-
# @return [String]
|
221
|
-
def base_path(path = nil)
|
222
|
-
options[:base_path] = path
|
223
|
-
end
|
224
|
-
|
225
252
|
# {include:file:docs/configuration/root.md}
|
226
253
|
# @param args [Array<Symbol|void>]
|
227
254
|
# @return [Class]
|
@@ -229,6 +256,22 @@ module Vedeu
|
|
229
256
|
options[:root] = args
|
230
257
|
end
|
231
258
|
|
259
|
+
# {include:file:docs/configuration/run_once.md}
|
260
|
+
# @param value [Boolean]
|
261
|
+
# @return [Boolean]
|
262
|
+
def run_once!(value = true)
|
263
|
+
options[:once] = value
|
264
|
+
end
|
265
|
+
alias run_once run_once!
|
266
|
+
|
267
|
+
# {include:file:docs/configuration/standalone.md}
|
268
|
+
# @param value [Boolean]
|
269
|
+
# @return [Boolean]
|
270
|
+
def standalone!(value = true)
|
271
|
+
options[:interactive] = !value
|
272
|
+
end
|
273
|
+
alias standalone standalone!
|
274
|
+
|
232
275
|
# {include:file:docs/configuration/stdin.md}
|
233
276
|
# @param io [File|IO]
|
234
277
|
# @return [File|IO]
|
@@ -250,14 +293,6 @@ module Vedeu
|
|
250
293
|
options[:stderr] = io
|
251
294
|
end
|
252
295
|
|
253
|
-
# {include:file:docs/configuration/compression.md}
|
254
|
-
# @param value [Boolean]
|
255
|
-
# @return [Boolean]
|
256
|
-
def compression(value = true)
|
257
|
-
options[:compression] = value
|
258
|
-
end
|
259
|
-
alias compression! compression
|
260
|
-
|
261
296
|
# {include:file:docs/configuration/terminal_mode.md}
|
262
297
|
# @param mode [Symbol] Either ':cooked', ':fake' or ':raw'.
|
263
298
|
# @macro raise_invalid_syntax
|
@@ -288,41 +323,6 @@ module Vedeu
|
|
288
323
|
end
|
289
324
|
alias width= width
|
290
325
|
|
291
|
-
# {include:file:docs/configuration/background.md}
|
292
|
-
# @param value [String]
|
293
|
-
# @return [Vedeu::Colours::Background]
|
294
|
-
def background(value = nil)
|
295
|
-
return options[:background] unless value
|
296
|
-
|
297
|
-
options[:background] = value
|
298
|
-
end
|
299
|
-
|
300
|
-
# {include:file:docs/configuration/foreground.md}
|
301
|
-
# @param value [String]
|
302
|
-
# @return [Vedeu::Colours::Foreground]
|
303
|
-
def foreground(value = nil)
|
304
|
-
return options[:foreground] unless value
|
305
|
-
|
306
|
-
options[:foreground] = value
|
307
|
-
end
|
308
|
-
|
309
|
-
# {include:file:docs/configuration/colour.md}
|
310
|
-
# @param attrs [Hash<Symbol => String>]
|
311
|
-
# @return [Hash<Symbol => void>]
|
312
|
-
def colour(attrs = {})
|
313
|
-
options[:background] = attrs[:background] if attrs.key?(:background)
|
314
|
-
options[:foreground] = attrs[:foreground] if attrs.key?(:foreground)
|
315
|
-
options
|
316
|
-
end
|
317
|
-
|
318
|
-
# {include:file:docs/configuration/mouse.md}
|
319
|
-
# @param value [Boolean]
|
320
|
-
# @return [Boolean]
|
321
|
-
def mouse!(value = true)
|
322
|
-
options[:mouse] = value
|
323
|
-
end
|
324
|
-
alias mouse mouse!
|
325
|
-
|
326
326
|
protected
|
327
327
|
|
328
328
|
# @!attribute [r] default
|
data/lib/vedeu/editor/cropper.rb
CHANGED
@@ -76,14 +76,15 @@ module Vedeu
|
|
76
76
|
|
77
77
|
private
|
78
78
|
|
79
|
-
# Returns the visible lines
|
79
|
+
# Returns the visible lines and their respective content,
|
80
|
+
# determined by the offsets 'ox' and 'oy'.
|
80
81
|
#
|
81
82
|
# @note If there are no lines of content, we return an empty
|
82
83
|
# array. If there are any empty lines, then they are discarded.
|
83
84
|
#
|
84
85
|
# @return [Array<void>]
|
85
86
|
def visible
|
86
|
-
lines.map { |line|
|
87
|
+
lines.map { |line| line[ox...(ox + bordered_width)] || '' }
|
87
88
|
end
|
88
89
|
|
89
90
|
# Return a range of visible lines.
|
@@ -93,13 +94,6 @@ module Vedeu
|
|
93
94
|
@lines[oy...(oy + bordered_height)] || []
|
94
95
|
end
|
95
96
|
|
96
|
-
# Return a range of visible characters from each line.
|
97
|
-
#
|
98
|
-
# @return [String]
|
99
|
-
def columns(line)
|
100
|
-
line[ox...(ox + bordered_width)] || ''
|
101
|
-
end
|
102
|
-
|
103
97
|
# @macro geometry_by_name
|
104
98
|
def geometry
|
105
99
|
@_geometry ||= Vedeu.geometries.by_name(name)
|
data/lib/vedeu/editor/cursor.rb
CHANGED
@@ -43,7 +43,7 @@ module Vedeu
|
|
43
43
|
#
|
44
44
|
# @param attributes [Hash<Symbol => Fixnum|String|Symbol>]
|
45
45
|
# @option attributes y [Fixnum] The current line.
|
46
|
-
# @option attributes x [Fixnum] The current character
|
46
|
+
# @option attributes x [Fixnum] The current character within the
|
47
47
|
# line.
|
48
48
|
# @option attributes name [String|Symbol]
|
49
49
|
# @option attributes oy [Fixnum]
|
@@ -67,7 +67,9 @@ module Vedeu
|
|
67
67
|
|
68
68
|
# Move the virtual cursor down by one line.
|
69
69
|
#
|
70
|
-
# @param size [Fixnum]
|
70
|
+
# @param size [Fixnum] The number of characters on the next
|
71
|
+
# line. The cursor is placed at the end of this next line if
|
72
|
+
# the x coordinate is greater than the next line length.
|
71
73
|
# @return [Vedeu::Editor::Cursor]
|
72
74
|
def down(size = nil)
|
73
75
|
@y += 1
|
@@ -93,7 +95,7 @@ module Vedeu
|
|
93
95
|
# @return [Vedeu::Editor::Cursor]
|
94
96
|
# @todo Should ox/oy be 0; or set to @ox/@oy? (GL: 2015-10-02)
|
95
97
|
def refresh
|
96
|
-
Vedeu::Cursors::Cursor.store(
|
98
|
+
Vedeu::Cursors::Cursor.store(new_attributes)
|
97
99
|
|
98
100
|
Vedeu.trigger(:_refresh_cursor_, name)
|
99
101
|
|
@@ -132,7 +134,9 @@ module Vedeu
|
|
132
134
|
|
133
135
|
# Move the virtual cursor up by one line.
|
134
136
|
#
|
135
|
-
# @param size [Fixnum]
|
137
|
+
# @param size [Fixnum] The number of characters on the next
|
138
|
+
# line. The cursor is placed at the end of this next line if
|
139
|
+
# the x coordinate is greater than the next line length.
|
136
140
|
# @return [Vedeu::Editor::Cursor]
|
137
141
|
def up(size = nil)
|
138
142
|
@oy -= 1 unless @oy == 0
|
@@ -191,14 +195,14 @@ module Vedeu
|
|
191
195
|
end
|
192
196
|
|
193
197
|
# @return [Hash<Symbol => Fixnum, String, Symbol>]
|
194
|
-
def
|
198
|
+
def new_attributes
|
195
199
|
{
|
196
200
|
name: name,
|
197
201
|
x: real_x,
|
198
202
|
y: real_y,
|
199
203
|
ox: 0,
|
200
204
|
oy: 0,
|
201
|
-
visible: true
|
205
|
+
visible: true,
|
202
206
|
}
|
203
207
|
end
|
204
208
|
|
@@ -27,26 +27,22 @@ module Vedeu
|
|
27
27
|
@style = ''
|
28
28
|
end
|
29
29
|
|
30
|
+
# Process the content as a stream; for each sequence with the
|
31
|
+
# same position take the first sequence and ignore the rest.
|
32
|
+
#
|
30
33
|
# @return [String]
|
31
34
|
def with
|
32
35
|
@same = ''
|
33
36
|
@compress ||= Vedeu.timer(message) do
|
34
37
|
content.map do |cell|
|
35
|
-
|
36
|
-
cell
|
38
|
+
character = [
|
39
|
+
position_for(cell),
|
37
40
|
colour_for(cell),
|
38
41
|
style_for(cell),
|
39
|
-
cell
|
42
|
+
value_for(cell),
|
40
43
|
].join
|
41
44
|
|
42
|
-
|
43
|
-
next
|
44
|
-
|
45
|
-
else
|
46
|
-
@same = rendered
|
47
|
-
@same
|
48
|
-
|
49
|
-
end
|
45
|
+
character == @same ? next : @same = character
|
50
46
|
end.join.tap do |out|
|
51
47
|
Vedeu.log(type: :compress,
|
52
48
|
message: "#{message} -> #{out.size} characters")
|
@@ -85,6 +81,14 @@ module Vedeu
|
|
85
81
|
content.size
|
86
82
|
end
|
87
83
|
|
84
|
+
# @param char [Vedeu::Cells::Char]
|
85
|
+
# @return [String]
|
86
|
+
def position_for(char)
|
87
|
+
return '' unless char.position?
|
88
|
+
|
89
|
+
char.position.to_s
|
90
|
+
end
|
91
|
+
|
88
92
|
# Compress by not repeatedly sending the same style(s) for each
|
89
93
|
# character which has the same style(s) as the last character
|
90
94
|
# output.
|
@@ -98,6 +102,14 @@ module Vedeu
|
|
98
102
|
@style.to_s
|
99
103
|
end
|
100
104
|
|
105
|
+
# @param char [Vedeu::Cells::Char]
|
106
|
+
# @return [String]
|
107
|
+
def value_for(char)
|
108
|
+
return '' unless char.value?
|
109
|
+
|
110
|
+
char.value
|
111
|
+
end
|
112
|
+
|
101
113
|
end # Character
|
102
114
|
|
103
115
|
end # Compressors
|
data/lib/vedeu/output/write.rb
CHANGED
@@ -12,7 +12,7 @@ module Vedeu
|
|
12
12
|
|
13
13
|
# Gets the position.
|
14
14
|
#
|
15
|
-
# @return [Vedeu::Geometries::Position]
|
15
|
+
# @return [NilClass|Vedeu::Geometries::Position]
|
16
16
|
def position
|
17
17
|
Vedeu::Geometries::Position.coerce(@position)
|
18
18
|
end
|
@@ -21,7 +21,7 @@ module Vedeu
|
|
21
21
|
#
|
22
22
|
# @param value [Array<void>|Hash<void>|
|
23
23
|
# Vedeu::Geometries::Position]
|
24
|
-
# @return [Vedeu::Geometries::Position]
|
24
|
+
# @return [NilClass|Vedeu::Geometries::Position]
|
25
25
|
def position=(value)
|
26
26
|
@position = Vedeu::Geometries::Position.coerce(value)
|
27
27
|
end
|
data/lib/vedeu/version.rb
CHANGED
@@ -35,10 +35,6 @@ module Vedeu
|
|
35
35
|
it { instance.must_respond_to(:name) }
|
36
36
|
end
|
37
37
|
|
38
|
-
describe '#value' do
|
39
|
-
it { instance.must_respond_to(:value) }
|
40
|
-
end
|
41
|
-
|
42
38
|
describe '#eql?' do
|
43
39
|
let(:other) { instance }
|
44
40
|
|
@@ -188,6 +184,24 @@ module Vedeu
|
|
188
184
|
it { subject.must_equal(:empty) }
|
189
185
|
end
|
190
186
|
|
187
|
+
describe '#value' do
|
188
|
+
it { instance.must_respond_to(:value) }
|
189
|
+
end
|
190
|
+
|
191
|
+
describe '#value?' do
|
192
|
+
subject { instance.value? }
|
193
|
+
|
194
|
+
context 'when a value exists' do
|
195
|
+
let(:_value) { "\e[0m" }
|
196
|
+
|
197
|
+
it { subject.must_equal(true) }
|
198
|
+
end
|
199
|
+
|
200
|
+
context 'when a value does not exist' do
|
201
|
+
it { subject.must_equal(false) }
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
191
205
|
end # Empty
|
192
206
|
|
193
207
|
end # Cells
|
data/vedeu.gemspec
CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_development_dependency 'minitest', '5.8.4'
|
28
28
|
spec.add_development_dependency 'minitest-reporters', '1.1.8'
|
29
29
|
spec.add_development_dependency 'mocha', '1.1.0'
|
30
|
-
spec.add_development_dependency 'rubocop', '0.
|
30
|
+
spec.add_development_dependency 'rubocop', '0.39.0'
|
31
31
|
spec.add_development_dependency 'simplecov', '0.11.2'
|
32
32
|
spec.add_development_dependency 'simplecov-console', '0.3.0'
|
33
33
|
spec.add_development_dependency 'yard', '0.8.7.6'
|
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.8.
|
4
|
+
version: 0.8.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: guard
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - '='
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: 0.39.0
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - '='
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.39.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: simplecov
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|