coloring 0.0.5 → 0.1.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.
- data/CHANGELOG.md +22 -0
- data/README.md +19 -9
- data/bin/coloring +6 -0
- data/lib/coloring.rb +70 -6
- data/lib/coloring/version.rb +1 -1
- data/spec/coloring_spec.rb +18 -10
- metadata +6 -4
- data/CHANGELOG.rdoc +0 -12
data/CHANGELOG.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#### 0.1.0 (2012-08-31)
|
2
|
+
|
3
|
+
* Added 256 colors suport
|
4
|
+
* Input params now can be Hash
|
5
|
+
* Added CLI to show all avaliable colors
|
6
|
+
* Added tests
|
7
|
+
|
8
|
+
#### 0.0.5 (2012-08-24)
|
9
|
+
|
10
|
+
* Added class method view_avaliable
|
11
|
+
* Method set_param now protected
|
12
|
+
* Added some tests
|
13
|
+
|
14
|
+
#### 0.0.4 (2012-08-22)
|
15
|
+
|
16
|
+
* Added specs
|
17
|
+
* Added full README
|
18
|
+
* Added this CHANGELOG file
|
19
|
+
|
20
|
+
#### 0.0.3 (2012-08-22)
|
21
|
+
|
22
|
+
* Start release
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
## About
|
2
2
|
|
3
|
-
Extension for Ruby string class. Extension add methods for coloring text or background in Terminal. Also add some text effects.
|
3
|
+
Extension for Ruby string class. Extension add methods for coloring text or background in Terminal. Also add some text effects. Support 256 colors.
|
4
4
|
|
5
5
|
### Features
|
6
6
|
|
@@ -12,9 +12,9 @@ Extension for Ruby string class. Extension add methods for coloring text or back
|
|
12
12
|
* String.negative
|
13
13
|
* String.hide
|
14
14
|
|
15
|
-
Also avaliable class
|
15
|
+
Also avaliable class CLI to view all methods and colors.
|
16
16
|
|
17
|
-
|
17
|
+
$ coloring
|
18
18
|
|
19
19
|
### Installation
|
20
20
|
|
@@ -36,23 +36,33 @@ Add line:
|
|
36
36
|
|
37
37
|
require 'coloring'
|
38
38
|
|
39
|
-
For base
|
39
|
+
For base methods:
|
40
40
|
|
41
41
|
puts "Hello, World!".green
|
42
|
-
puts "Hello, World!".
|
42
|
+
puts "Hello, World!".underline
|
43
|
+
|
44
|
+
For call coloring method:
|
45
|
+
|
43
46
|
puts "Hello, World!".coloring(:green)
|
44
47
|
puts "Hello, World!".coloring("green")
|
45
48
|
|
46
49
|
For more params:
|
47
50
|
|
48
|
-
puts "Hello,World!".green.underline
|
51
|
+
puts "Hello, World!".green.underline
|
49
52
|
puts "Hello, World".green.on_red.underline
|
50
53
|
puts "Hello, World!".coloring [:green, :on_red, :underline]
|
51
54
|
puts "Hello, World!".coloring ["green", "on_red", "underline"]
|
52
|
-
puts "Hello,World!".coloring
|
53
|
-
puts "Hello,World!".coloring(
|
54
|
-
|
55
|
+
puts "Hello, World!".coloring(:green).on_red
|
56
|
+
puts "Hello, World!".coloring([:green, :underline]).on_red
|
57
|
+
|
58
|
+
For 256 colors ( use CLI to show avaliable colors ):
|
55
59
|
|
60
|
+
puts "Hello, World!".coloring(:color => :green, :background = > :yellow)
|
61
|
+
puts "Hello, World!".coloring(:color => "green", :background => "yellow")
|
62
|
+
puts "Hello, World!".coloring(color: "green", background: "yellow")
|
63
|
+
puts "Hello, World!".coloring(color: 211, background: 35)
|
64
|
+
puts "Hello, World!".coloring(color: 211).on_green
|
65
|
+
|
56
66
|
### Contributing
|
57
67
|
|
58
68
|
1. Fork it
|
data/bin/coloring
ADDED
data/lib/coloring.rb
CHANGED
@@ -34,6 +34,8 @@ module Coloring
|
|
34
34
|
define_method( effect ) { self.coloring( value ) }
|
35
35
|
end
|
36
36
|
|
37
|
+
protected
|
38
|
+
|
37
39
|
# Set effect value from SGR Hash
|
38
40
|
|
39
41
|
def set_param ( param )
|
@@ -46,14 +48,38 @@ module Coloring
|
|
46
48
|
param = SGRPARAMS[param]
|
47
49
|
end
|
48
50
|
param
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
# Set support Hash input (support 256 colors)
|
55
|
+
|
56
|
+
def input_options ( params )
|
57
|
+
|
58
|
+
set = lambda { |e| e = e.instance_of?(Fixnum) ? e : self.set_param(e)-30 }
|
59
|
+
|
60
|
+
options = []
|
61
|
+
|
62
|
+
if params.has_key?(:background)
|
63
|
+
background = set.call(params[:background])
|
64
|
+
options << 48 << 5 << background
|
65
|
+
end
|
66
|
+
if params.has_key?(:color)
|
67
|
+
color = set.call(params[:color])
|
68
|
+
options << 38 << 5 << color
|
69
|
+
end
|
70
|
+
|
71
|
+
options
|
72
|
+
|
49
73
|
end
|
50
74
|
|
51
|
-
|
75
|
+
public
|
52
76
|
|
53
77
|
# Output method
|
54
78
|
|
55
79
|
def coloring ( params )
|
56
80
|
|
81
|
+
params = self.input_options( params ) if params.instance_of?(Hash)
|
82
|
+
|
57
83
|
if params.instance_of?(Array)
|
58
84
|
all_params = params.map! { |elem| elem = self.set_param(elem).to_s }.join ";"
|
59
85
|
else
|
@@ -66,12 +92,50 @@ module Coloring
|
|
66
92
|
|
67
93
|
# Class method
|
68
94
|
|
69
|
-
class << self
|
70
|
-
|
71
|
-
def
|
72
|
-
|
95
|
+
class << self
|
96
|
+
|
97
|
+
def gamma
|
98
|
+
|
99
|
+
puts "All base methods:".on_yellow + "\n\n"
|
100
|
+
|
101
|
+
SGRPARAMS.each {|key, value| puts "#{key}".coloring(value) + " method: #{key}"}
|
102
|
+
|
103
|
+
puts "\n"
|
104
|
+
puts "System colors for xterm-256color:".on_yellow + "\n\n"
|
105
|
+
|
106
|
+
0.upto(7) do |i|
|
107
|
+
print "\033[48;5;#{i}m #{i} \033[000m"
|
108
|
+
end
|
109
|
+
|
110
|
+
puts "\n"
|
111
|
+
|
112
|
+
8.upto(15) do |i|
|
113
|
+
print "\033[48;5;#{i}m #{i} \033[000m"
|
114
|
+
end
|
115
|
+
|
116
|
+
puts "\n\n"
|
117
|
+
|
118
|
+
0.upto(5) do |g|
|
119
|
+
0.upto(5) do |r|
|
120
|
+
0.upto(5) do |b|
|
121
|
+
color = 16 + r*36 + g*6 + b
|
122
|
+
print "\033[48;5;#{color}m #{color}"
|
123
|
+
end
|
124
|
+
print "\033[0m "
|
125
|
+
end
|
126
|
+
print "\n"
|
127
|
+
end
|
128
|
+
|
129
|
+
puts "\n"
|
130
|
+
puts "Grayscale ramp:".on_yellow + "\n\n"
|
131
|
+
|
132
|
+
232.upto(255) do |i|
|
133
|
+
print "\033[48;5;#{i}m #{i} \033[000m"
|
134
|
+
end
|
135
|
+
|
136
|
+
puts "\n"
|
73
137
|
end
|
74
|
-
|
138
|
+
|
75
139
|
end
|
76
140
|
|
77
141
|
end
|
data/lib/coloring/version.rb
CHANGED
data/spec/coloring_spec.rb
CHANGED
@@ -8,10 +8,6 @@ describe Coloring do
|
|
8
8
|
|
9
9
|
describe "all base methods" do
|
10
10
|
|
11
|
-
it "should return value" do
|
12
|
-
@sample.green.should_not be_nil
|
13
|
-
end
|
14
|
-
|
15
11
|
it "should return right class" do
|
16
12
|
@sample.red.class.should == String
|
17
13
|
end
|
@@ -28,20 +24,32 @@ describe Coloring do
|
|
28
24
|
|
29
25
|
describe "method with params" do
|
30
26
|
|
31
|
-
it "should
|
32
|
-
@sample.coloring
|
27
|
+
it "should raise error if no arguments" do
|
28
|
+
expect { @sample.coloring }.to raise_error
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should raise error if wrong parameter for method" do
|
32
|
+
expect { @sample.coloring(:red, :on_blue) }.to raise_error
|
33
33
|
end
|
34
34
|
|
35
35
|
it "should return right class" do
|
36
36
|
@sample.coloring(:green).class.should == String
|
37
37
|
end
|
38
38
|
|
39
|
-
it "should
|
40
|
-
|
39
|
+
it "should return right content (input params: Symbol)" do
|
40
|
+
@sample.coloring(:green).should eq("\e[32mHello, World!\e[0m")
|
41
41
|
end
|
42
42
|
|
43
|
-
it "should return right content" do
|
44
|
-
@sample.coloring(
|
43
|
+
it "should return right content (input params: String)" do
|
44
|
+
@sample.coloring("green").should eq("\e[32mHello, World!\e[0m")
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should return right content (input params: Hash)" do
|
48
|
+
@sample.coloring(:color => :green).should eq("\e[38;5;2mHello, World!\e[0m")
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should return right content (input params > 1: Hash)" do
|
52
|
+
@sample.coloring(:color => :green, :background => :red).should eq("\e[48;5;1;38;5;2mHello, World!\e[0m")
|
45
53
|
end
|
46
54
|
|
47
55
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coloring
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
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: 2012-08-
|
12
|
+
date: 2012-08-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -30,16 +30,18 @@ dependencies:
|
|
30
30
|
description: Adds methods for coloring and styling text for class String
|
31
31
|
email:
|
32
32
|
- oabogatenko@gmail.com
|
33
|
-
executables:
|
33
|
+
executables:
|
34
|
+
- coloring
|
34
35
|
extensions: []
|
35
36
|
extra_rdoc_files: []
|
36
37
|
files:
|
37
38
|
- .gitignore
|
38
|
-
- CHANGELOG.
|
39
|
+
- CHANGELOG.md
|
39
40
|
- Gemfile
|
40
41
|
- LICENSE
|
41
42
|
- README.md
|
42
43
|
- Rakefile
|
44
|
+
- bin/coloring
|
43
45
|
- coloring.gemspec
|
44
46
|
- lib/coloring.rb
|
45
47
|
- lib/coloring/version.rb
|
data/CHANGELOG.rdoc
DELETED