padrino-support 0.12.1 → 0.12.2
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/lib/padrino-support/core_ext/string/colorize.rb +19 -6
- data/test/test_colorize.rb +31 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac0fd7870851b895d6688bbb53181a50dc53f4ed
|
4
|
+
data.tar.gz: 98f3982588c071db926a14429c855f0a698818f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a01e7516d21ce28df4f4575229e7da1351d3db13b8ec76ee1cb380668b39568c10765193bee2ef058d1b19d6d298ba8870fec61890242fa93664d695ba0fb7b1
|
7
|
+
data.tar.gz: 3e6ee99b72115ac4db88144b78fbadc4bafba796210abbeabfad4a7f971557852580c044e22c20b74898d301b81613e322d7538c28caf9beb8fb039e08e6850f
|
@@ -5,8 +5,13 @@ require 'win32console' if RUBY_PLATFORM =~ /(win|m)32/ # ruby color support
|
|
5
5
|
#
|
6
6
|
class String
|
7
7
|
# colorize(:red)
|
8
|
-
def colorize(
|
9
|
-
|
8
|
+
def colorize(args)
|
9
|
+
case args
|
10
|
+
when Symbol
|
11
|
+
Colorizer.send(args, self)
|
12
|
+
when Hash
|
13
|
+
Colorizer.send(args[:color], self, args[:mode])
|
14
|
+
end
|
10
15
|
end
|
11
16
|
|
12
17
|
# Used to colorize strings for the shell
|
@@ -14,8 +19,7 @@ class String
|
|
14
19
|
# Returns colors integer mapping
|
15
20
|
def self.colors
|
16
21
|
@_colors ||= {
|
17
|
-
:
|
18
|
-
:bold => 1,
|
22
|
+
:default => 9,
|
19
23
|
:black => 30,
|
20
24
|
:red => 31,
|
21
25
|
:green => 32,
|
@@ -27,12 +31,21 @@ class String
|
|
27
31
|
}
|
28
32
|
end
|
29
33
|
|
34
|
+
# Returns modes integer mapping
|
35
|
+
def self.modes
|
36
|
+
@_modes ||= {
|
37
|
+
:default => 0,
|
38
|
+
:bold => 1
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
30
42
|
# Defines class level color methods
|
31
43
|
# i.e Colorizer.red("hello")
|
32
44
|
class << self
|
33
45
|
Colorizer.colors.each do |color, value|
|
34
|
-
define_method(color) do |target|
|
35
|
-
|
46
|
+
define_method(color) do |target, mode_name = :default|
|
47
|
+
mode = modes[mode_name] || modes[:default]
|
48
|
+
"\e[#{mode};#{value}m" << target << "\e[0m"
|
36
49
|
end
|
37
50
|
end
|
38
51
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
|
+
|
3
|
+
describe "String#colorize" do
|
4
|
+
it "should colorize text correctly" do
|
5
|
+
assert_equal "\e[0;34mHello world\e[0m", "Hello world".colorize(:blue)
|
6
|
+
assert_equal "\e[0;30mHello world\e[0m", "Hello world".colorize(:black)
|
7
|
+
assert_equal "\e[0;31mHello world\e[0m", "Hello world".colorize(:red)
|
8
|
+
assert_equal "\e[0;32mHello world\e[0m", "Hello world".colorize(:green)
|
9
|
+
assert_equal "\e[0;33mHello world\e[0m", "Hello world".colorize(:yellow)
|
10
|
+
assert_equal "\e[0;34mHello world\e[0m", "Hello world".colorize(:blue)
|
11
|
+
assert_equal "\e[0;35mHello world\e[0m", "Hello world".colorize(:magenta)
|
12
|
+
assert_equal "\e[0;36mHello world\e[0m", "Hello world".colorize(:cyan)
|
13
|
+
assert_equal "\e[0;37mHello world\e[0m", "Hello world".colorize(:white)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should colorize text when using color name method" do
|
17
|
+
assert_equal "\e[0;30mHello world\e[0m", String::Colorizer.black("Hello world")
|
18
|
+
assert_equal "\e[0;31mHello world\e[0m", String::Colorizer.red("Hello world")
|
19
|
+
assert_equal "\e[0;32mHello world\e[0m", String::Colorizer.green("Hello world")
|
20
|
+
assert_equal "\e[0;33mHello world\e[0m", String::Colorizer.yellow("Hello world")
|
21
|
+
assert_equal "\e[0;34mHello world\e[0m", String::Colorizer.blue("Hello world")
|
22
|
+
assert_equal "\e[0;35mHello world\e[0m", String::Colorizer.magenta("Hello world")
|
23
|
+
assert_equal "\e[0;36mHello world\e[0m", String::Colorizer.cyan("Hello world")
|
24
|
+
assert_equal "\e[0;37mHello world\e[0m", String::Colorizer.white("Hello world")
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should be possible to set the mode" do
|
28
|
+
assert_equal "\e[1;34mHello world\e[0m", "Hello world".colorize(:color => :blue, :mode => :bold)
|
29
|
+
assert_equal "\e[1;34mHello world\e[0m", String::Colorizer.blue("Hello world", :bold)
|
30
|
+
end
|
31
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: padrino-support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Padrino Team
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2014-
|
15
|
+
date: 2014-05-12 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activesupport
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- lib/padrino-support/locale/zh_tw.yml
|
69
69
|
- padrino-support.gemspec
|
70
70
|
- test/helper.rb
|
71
|
+
- test/test_colorize.rb
|
71
72
|
- test/test_support_lite.rb
|
72
73
|
homepage: http://www.padrinorb.com
|
73
74
|
licenses:
|
@@ -96,5 +97,6 @@ specification_version: 4
|
|
96
97
|
summary: Support for padrino
|
97
98
|
test_files:
|
98
99
|
- test/helper.rb
|
100
|
+
- test/test_colorize.rb
|
99
101
|
- test/test_support_lite.rb
|
100
102
|
has_rdoc:
|