ansi256 0.2.4 → 0.2.5
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.
- data/README.md +18 -2
- data/lib/ansi256.rb +1 -4
- data/lib/ansi256/mixin.rb +66 -13
- data/lib/ansi256/version.rb +1 -1
- data/test/test_ansi256.rb +19 -0
- metadata +2 -2
data/README.md
CHANGED
@@ -77,8 +77,8 @@ puts say_hello_world.plain.fg(27)
|
|
77
77
|
|
78
78
|

|
79
79
|
|
80
|
-
|
81
|
-
|
80
|
+
Ansi256 methods
|
81
|
+
---------------
|
82
82
|
|
83
83
|
```ruby
|
84
84
|
Ansi256.fg(232)
|
@@ -88,8 +88,24 @@ Ansi256.on_green
|
|
88
88
|
Ansi256.bold
|
89
89
|
Ansi256.underline
|
90
90
|
Ansi256.reset
|
91
|
+
|
92
|
+
Ansi256.fg(232, 'Hello')
|
93
|
+
Ansi256.bg(226, 'World')
|
94
|
+
Ansi256.green('Hello World')
|
91
95
|
```
|
92
96
|
|
97
|
+
Disabling extended String methods
|
98
|
+
---------------------------------
|
99
|
+
|
100
|
+
```ruby
|
101
|
+
Ansi256.enabled?
|
102
|
+
# true
|
103
|
+
|
104
|
+
Ansi256.enabled = false
|
105
|
+
|
106
|
+
"Hello".fg(232)
|
107
|
+
# Hello
|
108
|
+
```
|
93
109
|
|
94
110
|
ansi256 executable
|
95
111
|
------------------
|
data/lib/ansi256.rb
CHANGED
data/lib/ansi256/mixin.rb
CHANGED
@@ -1,21 +1,74 @@
|
|
1
1
|
module Ansi256
|
2
|
-
|
3
|
-
def
|
4
|
-
|
5
|
-
|
2
|
+
class << self
|
3
|
+
def enabled= bool
|
4
|
+
if bool
|
5
|
+
String.class_eval do
|
6
|
+
[:fg, :bg, :plain].each do |name|
|
7
|
+
undef_method(name) if method_defined?(name)
|
8
|
+
end
|
6
9
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
+
def fg code
|
11
|
+
Ansi256.fg(code, self)
|
12
|
+
end
|
10
13
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
+
def bg code
|
15
|
+
Ansi256.bg(code, self)
|
16
|
+
end
|
17
|
+
|
18
|
+
def plain
|
19
|
+
Ansi256.plain self
|
20
|
+
end
|
21
|
+
|
22
|
+
Ansi256::CODE.each do |name, code|
|
23
|
+
undef_method(name) if method_defined?(name)
|
24
|
+
define_method name do
|
25
|
+
Ansi256.send name, self
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
14
29
|
|
15
|
-
|
16
|
-
|
17
|
-
|
30
|
+
Ansi256.class_eval do
|
31
|
+
class << self
|
32
|
+
undef_method(:enabled?) if method_defined?(:enabled?)
|
33
|
+
def enabled?
|
34
|
+
true
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
else
|
39
|
+
String.class_eval do
|
40
|
+
[:fg, :bg, :plain].each do |name|
|
41
|
+
undef_method(name) if method_defined?(name)
|
42
|
+
end
|
43
|
+
|
44
|
+
def fg code
|
45
|
+
self
|
46
|
+
end
|
47
|
+
alias bg fg
|
48
|
+
|
49
|
+
def plain
|
50
|
+
Ansi256.plain self
|
51
|
+
end
|
52
|
+
|
53
|
+
Ansi256::CODE.each do |name, code|
|
54
|
+
undef_method(name) if method_defined?(name)
|
55
|
+
define_method name do
|
56
|
+
self
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
Ansi256.class_eval do
|
62
|
+
class << self
|
63
|
+
undef_method(:enabled?) if method_defined?(:enabled?)
|
64
|
+
def enabled?
|
65
|
+
false
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
18
69
|
end
|
70
|
+
|
71
|
+
bool
|
19
72
|
end
|
20
73
|
end
|
21
74
|
end
|
data/lib/ansi256/version.rb
CHANGED
data/test/test_ansi256.rb
CHANGED
@@ -194,4 +194,23 @@ class TestAnsi256 < MiniTest::Unit::TestCase
|
|
194
194
|
puts "RGB Color".fg('#ff9900').bg('#003366')
|
195
195
|
puts "RGB Color (Monochrome)".fg('ef').bg('3a')
|
196
196
|
end
|
197
|
+
|
198
|
+
def test_enabled
|
199
|
+
2.times do
|
200
|
+
[:fg, :bg].each do |m|
|
201
|
+
assert Ansi256.enabled?
|
202
|
+
hello = "hello".send(m, 'f90')
|
203
|
+
assert_equal 'hello', hello.plain
|
204
|
+
|
205
|
+
Ansi256.enabled = false
|
206
|
+
assert !Ansi256.enabled?
|
207
|
+
assert hello.length > "hello".send(m, 'f90').length
|
208
|
+
assert_equal 'hello', hello.plain
|
209
|
+
|
210
|
+
Ansi256.enabled = true
|
211
|
+
assert Ansi256.enabled?
|
212
|
+
assert_equal hello, "hello".send(m, 'f90')
|
213
|
+
end
|
214
|
+
end
|
215
|
+
end
|
197
216
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ansi256
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|