vedeu 0.8.22 → 0.8.23
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/.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
|