colorer 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -5,9 +5,9 @@ Easy ANSI code coloring for strings.
5
5
  == Synopsis
6
6
 
7
7
  require 'colorer'
8
- Colorer.define_styles :basic => true,
9
- :errorize => [ :red, :bold, :underline ],
10
- :mysgr => [ :red, 8 ]
8
+ Colorer.def_basic_styles
9
+ Colorer.def_custom_styles :errorize => [ :red, :bold, :underline ],
10
+ :mysgr => [ :red, 8 ]
11
11
 
12
12
  "a red bold underlined text on white background".red.bold.underline.onwhite
13
13
  "an error string".errorize
@@ -22,20 +22,22 @@ Easy ANSI code coloring for strings.
22
22
 
23
23
  === Basic Styles
24
24
 
25
- You can define the basic styles for any string by using the reserved name :basic:
25
+ You can define the basic styles for any string by using the def_basic_styles method:
26
26
 
27
27
  # all basic styles
28
- Colorer.define_styles :basic => true
28
+ Colorer.def_basic_styles
29
29
  "a string".green.bold.reversed.underline...
30
30
 
31
31
  # a few basic styles
32
- Colorer.define_styles :basic => [:bold, :reversed]
32
+ Colorer.define_styles [:bold, :reversed]
33
33
  "a string".bold.reversed
34
34
 
35
35
  # one basic style
36
- Colorer.define_styles :basic => :red
36
+ Colorer.define_styles :red
37
37
  "a string".red
38
38
 
39
+ ==== Basic Styles List
40
+
39
41
  * clear
40
42
  * bold
41
43
  * underline
@@ -62,11 +64,11 @@ You can define the basic styles for any string by using the reserved name :basic
62
64
 
63
65
  === Custom Styles
64
66
 
65
- You can define your own custom styles:
67
+ You can define your own custom styles by aggregating any basic styles names:
66
68
 
67
- Colorer.define_styles :errorize => [ :red, :bold, :underline ],
68
- :okize => [ :green, :bold ],
69
- :crazyize => [ :magenta, :onyellow, :bold, :underline ]
69
+ Colorer.def_custom_styles :errorize => [ :red, :bold, :underline ],
70
+ :okize => [ :green, :bold ],
71
+ :crazyize => [ :magenta, :onyellow, :bold, :underline ]
70
72
 
71
73
  error_string.errorize
72
74
  # same as
@@ -78,13 +80,11 @@ You can define your own custom styles:
78
80
  # same as
79
81
  crazy_string.magenta.onyellow.bold.underline
80
82
 
81
- Notice: you cannot use :basic as a custom name, since it is the reserved name used to define the basic styles.
82
-
83
83
  === SGR Styles
84
84
 
85
85
  You can also add native SGR (Select Graphic Rendition) parameters (0..109) to any style:
86
86
 
87
- Colorer.define_styles :mysgr => [ :red, 8 ]
87
+ Colorer.def_custom_styles :mysgr => [ :red, 8 ]
88
88
 
89
89
  See http://en.wikipedia.org/wiki/ANSI_colors for a complete list
90
90
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
data/colorer.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.summary = 'Easy ANSI code coloring for strings'
10
10
  s.description = 'Colorer adds the basic ANSI styles to any string, allowing also to define your own stiles'
11
11
 
12
- s.add_development_dependency('irt', [">= 0.7.1"])
12
+ s.add_development_dependency('irt', [">= 0.7.7"])
13
13
 
14
14
  s.files = `git ls-files -z`.split("\0")
15
15
 
data/lib/colorer.rb CHANGED
@@ -46,18 +46,22 @@ module Colorer
46
46
  @color = true
47
47
  attr_accessor :color
48
48
 
49
+ def def_basic_styles(basic=true, force=false)
50
+ define_styles basic_styles(basic), force
51
+ end
52
+
53
+ def def_custom_styles(styles, force=false)
54
+ define_styles styles, force
55
+ end
56
+
49
57
  def define_styles(styles, force=false)
50
- if basic = styles.delete(:basic)
51
- basic_styles = {}
52
- case basic
53
- when TrueClass
54
- basic_styles = BASIC_SGR
55
- when Array
56
- basic.each{|k| basic_styles[k] = BASIC_SGR[k]}
57
- when Symbol
58
- basic_styles[basic] = BASIC_SGR[basic]
58
+ unless caller[0].match(/def_basic_styles|def_custom_styles/)
59
+ puts 'DEPRECATION WARNING: :define_styles has been deprecated. Use def_basic_styles and def_custom_styles instead'
60
+ if styles.keys.include?(:basic)
61
+ puts 'DEPRECATION WARNING: :basic is not a reserved name anymore: please use def_basic_styles to define the basic methods'
62
+ styles = basic_styles(styles.delete(:basic)).merge(styles)
59
63
  end
60
- styles = basic_styles.merge(styles)
64
+ puts " #{caller[0]}"
61
65
  end
62
66
  styles.each_pair do |meth, style|
63
67
  style = [style] unless style.is_a?(Array)
@@ -78,4 +82,19 @@ module Colorer
78
82
  end
79
83
  end
80
84
 
85
+ private
86
+
87
+ def basic_styles(basic)
88
+ styles = {}
89
+ case basic
90
+ when TrueClass
91
+ styles = BASIC_SGR
92
+ when Array
93
+ basic.each{|k| styles[k] = BASIC_SGR[k]}
94
+ when Symbol
95
+ styles[basic] = BASIC_SGR[basic]
96
+ end
97
+ styles
98
+ end
99
+
81
100
  end
data/test/basic.irt CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'colorer'
2
2
 
3
- Colorer.define_styles({:basic => true}, true)
3
+ Colorer.def_basic_styles true, true
4
4
 
5
5
  desc "red"
6
6
  'red'.red
data/test/custom.irt CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'colorer'
2
2
 
3
- Colorer.define_styles :errorize => [ :red, :bold, :underline ],
3
+ Colorer.def_custom_styles :errorize => [ :red, :bold, :underline ],
4
4
  :okeyze => [ :green, :bold ]
5
5
 
6
6
  desc "errorize"
@@ -1,6 +1,6 @@
1
1
  require 'colorer'
2
2
 
3
- Colorer.define_styles({:basic => [:bold, :red]}, true)
3
+ Colorer.def_basic_styles([:bold, :red], true)
4
4
 
5
5
  desc "red"
6
6
  'red'.red
@@ -13,7 +13,7 @@ puts _
13
13
  test_value_eql? "\e[0;31;1mred bold\e[0m"
14
14
 
15
15
  desc "onwhite"
16
- Colorer.define_styles({:basic => :onwhite}, true)
16
+ Colorer.def_basic_styles([:onwhite], true)
17
17
  'onwhite'.onwhite
18
18
  puts _
19
19
  test_value_eql? "\e[0;47monwhite\e[0m"
data/test/sgr.irt CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'colorer'
2
2
 
3
- Colorer.define_styles :mixed_sgr => [ :bold, 7 ]
3
+ Colorer.def_custom_styles :mixed_sgr => [ :bold, 7 ]
4
4
 
5
5
 
6
6
  desc "Mixed SGR parameters"
@@ -9,7 +9,8 @@ puts _
9
9
  test_value_eql? "\e[0;1;7mMixed SGR parameters\e[0m"
10
10
 
11
11
  desc "Basic and custom definition"
12
- Colorer.define_styles({:basic => true, :goo => [7], :guu => 4}, 1)
12
+ Colorer.def_basic_styles true, true
13
+ Colorer.def_custom_styles({:goo => [7], :guu => 4}, 1)
13
14
  "Basic and custom definition".green.goo.guu
14
15
  puts _
15
16
  test_value_eql? "\e[0;32;7;4mBasic and custom definition\e[0m"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: colorer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 4
8
+ - 5
9
9
  - 0
10
- version: 0.4.0
10
+ version: 0.5.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Domizio Demichelis
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-20 00:00:00 -04:00
18
+ date: 2010-10-21 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -26,12 +26,12 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 1
29
+ hash: 13
30
30
  segments:
31
31
  - 0
32
32
  - 7
33
- - 1
34
- version: 0.7.1
33
+ - 7
34
+ version: 0.7.7
35
35
  type: :development
36
36
  version_requirements: *id001
37
37
  description: Colorer adds the basic ANSI styles to any string, allowing also to define your own stiles