colorize 0.5.7 → 0.5.8
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/CHANGELOG.rdoc +5 -1
- data/README.rdoc +3 -3
- data/VERSION +1 -1
- data/colorize.gemspec +2 -2
- data/lib/colorize.rb +28 -28
- data/test/test_colorize.rb +42 -4
- metadata +2 -2
data/CHANGELOG.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -19,13 +19,13 @@ Ruby string class extension. It add some methods to set color, background color
|
|
19
19
|
puts "This is blue".colorize( :blue )
|
20
20
|
puts "This is light blue".colorize( :light_blue )
|
21
21
|
puts "This is also blue".colorize( :color => :blue )
|
22
|
-
puts "This is blue with red background".colorize( :color => :light_blue, :background => :red )
|
23
|
-
puts "This is blue with red background".colorize( :light_blue ).colorize( :background => :red )
|
22
|
+
puts "This is light blue with red background".colorize( :color => :light_blue, :background => :red )
|
23
|
+
puts "This is light blue with red background".colorize( :light_blue ).colorize( :background => :red )
|
24
24
|
puts "This is blue text on red".blue.on_red
|
25
25
|
puts "This is red on blue".colorize( :red ).on_blue
|
26
|
-
puts "This is uncolorized".blue.on_red.uncolorize
|
27
26
|
puts "This is red on blue and underline".colorize( :red ).on_blue.underline
|
28
27
|
puts "This is blue text on red".blue.on_red.blink
|
28
|
+
puts "This is uncolorized".blue.on_red.uncolorize
|
29
29
|
|
30
30
|
Class methods:
|
31
31
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.8
|
data/colorize.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{colorize}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["fazibear"]
|
12
|
-
s.date = %q{2009-
|
12
|
+
s.date = %q{2009-12-02}
|
13
13
|
s.description = %q{Ruby string class extension. It add some methods to set color, background color and text effect on console easier. Uses ANSI escape sequences.}
|
14
14
|
s.email = %q{fazibear@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/colorize.rb
CHANGED
@@ -55,7 +55,7 @@ class String
|
|
55
55
|
nil
|
56
56
|
end
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
59
|
public
|
60
60
|
|
61
61
|
#
|
@@ -66,21 +66,21 @@ class String
|
|
66
66
|
# puts "This is blue".colorize( :blue )
|
67
67
|
# puts "This is light blue".colorize( :light_blue )
|
68
68
|
# puts "This is also blue".colorize( :color => :blue )
|
69
|
-
# puts "This is blue with red background".colorize( :color => :light_blue, :background => :red )
|
70
|
-
# puts "This is blue with red background".colorize( :light_blue ).colorize( :background => :red )
|
69
|
+
# puts "This is light blue with red background".colorize( :color => :light_blue, :background => :red )
|
70
|
+
# puts "This is light blue with red background".colorize( :light_blue ).colorize( :background => :red )
|
71
71
|
# puts "This is blue text on red".blue.on_red
|
72
72
|
# puts "This is red on blue".colorize( :red ).on_blue
|
73
73
|
# puts "This is red on blue and underline".colorize( :red ).on_blue.underline
|
74
74
|
# puts "This is blue text on red".blue.on_red.blink
|
75
|
+
# puts "This is uncolorized".blue.on_red.uncolorize
|
75
76
|
#
|
76
77
|
def colorize( params )
|
77
|
-
|
78
78
|
return self unless STDOUT.isatty
|
79
79
|
|
80
80
|
begin
|
81
|
-
|
81
|
+
require 'Win32/Console/ANSI' if RUBY_PLATFORM =~ /win32/
|
82
82
|
rescue LoadError
|
83
|
-
|
83
|
+
raise 'You must gem install win32console to use colorize on Windows'
|
84
84
|
end
|
85
85
|
|
86
86
|
color_parameters = {}
|
@@ -93,58 +93,58 @@ class String
|
|
93
93
|
color_parameters[:color] = COLORS[params]
|
94
94
|
end
|
95
95
|
|
96
|
-
color_parameters[:color] ||= @color
|
97
|
-
color_parameters[:background] ||= @background
|
98
|
-
color_parameters[:mode] ||= @mode
|
96
|
+
color_parameters[:color] ||= @color ||= COLORS[:default]
|
97
|
+
color_parameters[:background] ||= @background ||= COLORS[:default]
|
98
|
+
color_parameters[:mode] ||= @mode ||= MODES[:default]
|
99
99
|
|
100
|
-
color_parameters[:uncolorized] ||= @uncolorized
|
100
|
+
color_parameters[:uncolorized] ||= @uncolorized ||= self.dup
|
101
101
|
|
102
102
|
# calculate bright mode
|
103
103
|
color_parameters[:color] += 50 if color_parameters[:color] > 10
|
104
104
|
|
105
105
|
color_parameters[:background] += 50 if color_parameters[:background] > 10
|
106
106
|
|
107
|
-
|
107
|
+
"\033[#{color_parameters[:mode]};#{color_parameters[:color]+30};#{color_parameters[:background]+40}m#{color_parameters[:uncolorized]}\033[0m".set_color_parameters( color_parameters )
|
108
108
|
end
|
109
109
|
|
110
|
-
|
111
110
|
#
|
112
111
|
# Return uncolorized string
|
113
112
|
#
|
114
113
|
def uncolorize
|
115
|
-
|
114
|
+
@uncolorized || self
|
116
115
|
end
|
117
116
|
|
118
117
|
#
|
119
118
|
# Return true if sting is colorized
|
120
119
|
#
|
121
120
|
def colorized?
|
122
|
-
|
121
|
+
!defined?(@uncolorized).nil?
|
123
122
|
end
|
124
123
|
|
125
124
|
#
|
126
125
|
# Make some color and on_color methods
|
127
126
|
#
|
128
127
|
COLORS.each_key do | key |
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
128
|
+
next if key == :default
|
129
|
+
|
130
|
+
define_method key do
|
131
|
+
self.colorize( :color => key )
|
132
|
+
end
|
133
|
+
|
134
|
+
define_method "on_#{key}" do
|
135
|
+
self.colorize( :background => key )
|
136
|
+
end
|
137
137
|
end
|
138
138
|
|
139
139
|
#
|
140
140
|
# Methods for modes
|
141
141
|
#
|
142
142
|
MODES.each_key do | key |
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
143
|
+
next if key == :default
|
144
|
+
|
145
|
+
define_method key do
|
146
|
+
self.colorize( :mode => key )
|
147
|
+
end
|
148
148
|
end
|
149
149
|
|
150
150
|
class << self
|
@@ -185,7 +185,7 @@ class String
|
|
185
185
|
String.colors.reverse.each_with_index do | back, index |
|
186
186
|
puts "#{"|".rjust(txt.length)*(size-index)} < #{back}"
|
187
187
|
end
|
188
|
+
""
|
188
189
|
end
|
189
190
|
end
|
190
|
-
puts
|
191
191
|
end
|
data/test/test_colorize.rb
CHANGED
@@ -1,11 +1,49 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
2
|
|
3
3
|
class TestColorize < Test::Unit::TestCase
|
4
|
+
def test_blue_symbol
|
5
|
+
assert "This is blue".colorize(:blue) == "\e[0;34;49mThis is blue\e[0m"
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_blue_hash
|
9
|
+
assert "This is also blue".colorize( :color => :blue) == "\e[0;34;49mThis is also blue\e[0m"
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_light_blue_symbol
|
13
|
+
assert "This is light blue".colorize(:light_blue) == "\e[0;94;49mThis is light blue\e[0m"
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_light_blue_with_red_background_hash
|
17
|
+
assert "This is light blue with red background".colorize( :color => :light_blue, :background => :red ) == "\e[0;94;41mThis is light blue with red background\e[0m"
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_light_blue_with_red_background_symbol_and_hash
|
21
|
+
assert "This is light blue with red background".colorize( :light_blue ).colorize( :background => :red ) == "\e[0;144;41mThis is light blue with red background\e[0m"
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_blue_with_red_background_method
|
25
|
+
assert "This is blue text on red".blue.on_red == "\e[0;34;41mThis is blue text on red\e[0m"
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_red_with_blue_background_symbol_and_method
|
29
|
+
assert "This is red on blue".colorize( :red ).on_blue == "\e[0;31;44mThis is red on blue\e[0m"
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_red_with_blue_background_and_underline_sumbol_and_methods
|
33
|
+
assert "This is red on blue and underline".colorize( :red ).on_blue.underline == "\e[4;31;44mThis is red on blue and underline\e[0m"
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_blue_with_red_background_and_blink_methods
|
37
|
+
assert "This is blue text on red".blue.on_red.blink == "\e[5;34;41mThis is blue text on red\e[0m"
|
38
|
+
end
|
4
39
|
|
5
|
-
def
|
40
|
+
def test_uncolorize
|
41
|
+
assert "This is uncolorized".blue.on_red.uncolorize == "This is uncolorized"
|
6
42
|
end
|
7
|
-
|
8
|
-
def
|
9
|
-
assert true
|
43
|
+
|
44
|
+
def test_colorized?
|
45
|
+
assert "Red".red.colorized? == true
|
46
|
+
assert "Blue".colorized? == false
|
47
|
+
assert "Green".blue.green.uncolorize.colorized? == false
|
10
48
|
end
|
11
49
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: colorize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fazibear
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-02 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|