yummi 0.6.1 → 0.7.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/README.md +7 -6
- data/bin/yummi +10 -10
- data/examples/logcat_colorizer.rb +11 -15
- data/lib/yummi/colorizers.rb +79 -35
- data/lib/yummi/data_parser.rb +37 -0
- data/lib/yummi/extensions.rb +40 -0
- data/lib/yummi/logger.rb +5 -5
- data/lib/yummi/{mappings/jboss5.yaml → patterns/jboss.yaml} +2 -2
- data/lib/yummi/patterns/log.yaml +9 -0
- data/lib/yummi/{mappings/weblogic11g.yaml → patterns/weblogic.yaml} +3 -3
- data/lib/yummi/table.rb +7 -7
- data/lib/yummi/text_box.rb +1 -1
- data/lib/yummi/version.rb +1 -1
- data/lib/yummi.rb +31 -9
- metadata +7 -5
- data/lib/yummi/mappings/jboss7.yaml +0 -8
data/README.md
CHANGED
@@ -35,8 +35,9 @@ Examples:
|
|
35
35
|
|
36
36
|
Line patterns are configured with an yaml file containing:
|
37
37
|
|
38
|
-
* prefix
|
39
|
-
* suffix
|
38
|
+
* prefix (optional): prefix for pattern
|
39
|
+
* suffix (optional): suffix for pattern
|
40
|
+
* options (optional): option flags to use
|
40
41
|
* patterns: a pattern => color map
|
41
42
|
|
42
43
|
Example:
|
@@ -50,13 +51,13 @@ Example:
|
|
50
51
|
ERROR : red
|
51
52
|
FATAL : intense_red
|
52
53
|
|
53
|
-
Yummi provides a set of
|
54
|
+
Yummi provides a set of patterns, check yummi/patterns dir.
|
54
55
|
|
55
|
-
Mappings provided by yummi can be passed with the file name, example:
|
56
56
|
|
57
|
-
tail -f $JBOSS_HOME/standalone/log/server.log | yummi -p
|
57
|
+
tail -f $JBOSS_HOME/standalone/log/server.log | yummi -p jboss
|
58
58
|
|
59
|
-
|
59
|
+
Patterns in ~/.yummi/patterns and provided by yummi may also be used by passing
|
60
|
+
only the file name without extension
|
60
61
|
|
61
62
|
## Contributing
|
62
63
|
|
data/bin/yummi
CHANGED
@@ -31,8 +31,11 @@ opt = OptionParser::new
|
|
31
31
|
opt.on '-c COLOR', '--color=COLOR', 'Colorize using the given color' do |color|
|
32
32
|
@color = color
|
33
33
|
end
|
34
|
-
opt.on '-p
|
35
|
-
@colorizer = Yummi::Colorizers.
|
34
|
+
opt.on '-p PATTERNS', '--pattern=PATTERNS', Array, 'Sets a pattern to colorize each line' do |patterns|
|
35
|
+
@colorizer = Yummi::Colorizers.pattern(patterns)
|
36
|
+
end
|
37
|
+
opt.on '--log', 'Uses the default log pattern to colorize each line' do
|
38
|
+
@colorizer = Yummi::Colorizers.pattern :log
|
36
39
|
end
|
37
40
|
opt.on '-m message', '--message=MESSAGE', 'Colorize the given message' do |message|
|
38
41
|
@message = message
|
@@ -46,7 +49,7 @@ end
|
|
46
49
|
opt.on '--data-type', 'Defines the data type to parse the values' do |data_type|
|
47
50
|
@data_type = data_type
|
48
51
|
end
|
49
|
-
opt.on '-
|
52
|
+
opt.on '-l FILES', '--load=FILES', Array, 'Include the files for extending components' do |files|
|
50
53
|
files.each do |file|
|
51
54
|
load File.expand_path(file)
|
52
55
|
end
|
@@ -77,12 +80,9 @@ elsif @table_builder
|
|
77
80
|
abort "Please give the data to print" unless @data
|
78
81
|
table = @table_builder.build_table
|
79
82
|
extension = File::extname(@data)[1..-1]
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
when "csv"
|
84
|
-
require 'csv'
|
85
|
-
CSV::parse(File.read(@data), :converters => :all)
|
83
|
+
type = (@data_type or extension).to_sym
|
84
|
+
if Yummi::DataParser.respond_to? type
|
85
|
+
table.data = Yummi::DataParser.send(type, File.read(@data))
|
86
86
|
else
|
87
87
|
abort "Unsupported extension #{extension}"
|
88
88
|
end
|
@@ -93,6 +93,6 @@ else
|
|
93
93
|
print_out line.chomp
|
94
94
|
end
|
95
95
|
rescue Interrupt
|
96
|
-
|
96
|
+
puts Yummi::colorize("Aborted!", :red)
|
97
97
|
end
|
98
98
|
end
|
@@ -22,22 +22,10 @@
|
|
22
22
|
|
23
23
|
require_relative '../lib/yummi'
|
24
24
|
|
25
|
-
params = {
|
26
|
-
:prefix => /\[/,
|
27
|
-
:suffix => /\]/,
|
28
|
-
:patterns => {
|
29
|
-
'ERROR' => :red,
|
30
|
-
'FATAL' => :intense_red,
|
31
|
-
'WARN' => :yellow,
|
32
|
-
'INFO' => :green,
|
33
|
-
'DEBUG' => :gray
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
25
|
log = <<LOG
|
38
26
|
[INFO] Starting
|
39
27
|
[WARN] Example output
|
40
|
-
[
|
28
|
+
[DEBUG] Connecting to server
|
41
29
|
[ERROR] Error while connecting
|
42
30
|
caused by: ConnectionException
|
43
31
|
at Connection.connect
|
@@ -48,8 +36,16 @@ caused by: ConnectionException
|
|
48
36
|
[DEBUG] Shutdown command executed
|
49
37
|
LOG
|
50
38
|
|
51
|
-
colorizer = Yummi::Colorizers.
|
39
|
+
colorizer = Yummi::Colorizers.pattern :prefix => /\[/,
|
40
|
+
:suffix => /\]/,
|
41
|
+
:patterns => {
|
42
|
+
'ERROR' => :red,
|
43
|
+
'FATAL' => :intense_red,
|
44
|
+
'WARN' => :yellow,
|
45
|
+
'INFO' => :green,
|
46
|
+
'DEBUG' => :gray
|
47
|
+
}
|
52
48
|
|
53
49
|
log.each_line do |line|
|
54
50
|
puts colorizer.colorize(line.chomp)
|
55
|
-
end
|
51
|
+
end
|
data/lib/yummi/colorizers.rb
CHANGED
@@ -84,9 +84,9 @@ module Yummi
|
|
84
84
|
StripeColorizer::new(*colors)
|
85
85
|
end
|
86
86
|
|
87
|
-
# Returns a new instance of #
|
88
|
-
def self.
|
89
|
-
|
87
|
+
# Returns a new instance of #PatternColorizer
|
88
|
+
def self.pattern mappings
|
89
|
+
PatternColorizer::new mappings
|
90
90
|
end
|
91
91
|
|
92
92
|
#
|
@@ -213,14 +213,19 @@ module Yummi
|
|
213
213
|
end
|
214
214
|
|
215
215
|
#
|
216
|
-
# A colorizer for
|
216
|
+
# A colorizer for strings that follows a pattern. This colorizer is usefull
|
217
217
|
# for log files.
|
218
218
|
#
|
219
|
-
class
|
219
|
+
class PatternColorizer
|
220
220
|
include Yummi::Colorizer
|
221
221
|
|
222
|
+
def initialize mappings = nil
|
223
|
+
@patterns = []
|
224
|
+
map mappings if mappings
|
225
|
+
end
|
226
|
+
|
222
227
|
#
|
223
|
-
#
|
228
|
+
# Maps a set of patterns to colors.
|
224
229
|
#
|
225
230
|
# === Args
|
226
231
|
#
|
@@ -228,49 +233,88 @@ module Yummi
|
|
228
233
|
#
|
229
234
|
# * prefix: a pattern prefix
|
230
235
|
# * suffix: a pattern suffix
|
236
|
+
# * options: option flags to use
|
237
|
+
# * mode: the mode to use:
|
238
|
+
# - all : colorize the entire text
|
239
|
+
# - grep : colorize only the matched text
|
231
240
|
# * patterns: a pattern => color hash
|
232
241
|
#
|
233
|
-
# If a string is passed, a file containing a
|
234
|
-
# will be loaded. If the string doesn't represent
|
235
|
-
# following patterns will be used to find it:
|
242
|
+
# If a string is passed instead of a hash, a file containing a
|
243
|
+
# YAML configuration will be loaded. If the string doesn't represent
|
244
|
+
# a file, the following patterns will be used to find it:
|
236
245
|
#
|
237
|
-
# * $HOME/.yummi/PATTERN.yaml
|
238
|
-
# * $YUMMI_GEM/yummy/
|
246
|
+
# * $HOME/.yummi/patterns/PATTERN.yaml
|
247
|
+
# * $YUMMI_GEM/yummy/patterns/PATTERN.yaml
|
239
248
|
#
|
240
|
-
def
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
249
|
+
def map params
|
250
|
+
if params.is_a? Array
|
251
|
+
params.each { |p| map p }
|
252
|
+
elsif params.is_a? String or params.is_a? Symbol
|
253
|
+
map Yummi::Helpers::load_resource params, :from => :patterns
|
254
|
+
else
|
255
|
+
config params
|
256
|
+
end
|
257
|
+
end
|
258
|
+
|
259
|
+
def call ctx
|
260
|
+
ctx = Yummi::Context::new(ctx) unless ctx.is_a? Context
|
261
|
+
text = ctx.value.to_s
|
262
|
+
@patterns.each do |config|
|
263
|
+
config[:patterns].each do |regex, color|
|
264
|
+
if regex.match(text)
|
265
|
+
return match(text, config)
|
252
266
|
end
|
253
267
|
end
|
254
268
|
end
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
269
|
+
return text.colorize(@last_color) if @last_color
|
270
|
+
text
|
271
|
+
end
|
272
|
+
|
273
|
+
alias :colorize :call
|
274
|
+
|
275
|
+
private
|
276
|
+
|
277
|
+
def config params
|
278
|
+
Yummi::Helpers.symbolize_keys(params)
|
279
|
+
prefix = params[:prefix]
|
280
|
+
suffix = params[:suffix]
|
281
|
+
options = params[:options]
|
282
|
+
mode = (params[:mode] or :all)
|
283
|
+
|
284
|
+
patterns = Hash[*(params[:patterns].collect do |pattern, color|
|
285
|
+
[
|
286
|
+
Regexp::new("#{prefix}#{pattern.to_s}#{suffix}",options),
|
287
|
+
color
|
288
|
+
]
|
260
289
|
end).flatten]
|
261
290
|
|
262
|
-
@
|
291
|
+
@patterns << {
|
292
|
+
:mode => mode,
|
293
|
+
:patterns => patterns
|
294
|
+
}
|
263
295
|
end
|
264
296
|
|
265
|
-
def
|
266
|
-
|
267
|
-
|
268
|
-
|
297
|
+
def match(text, config)
|
298
|
+
send "colorize_#{config[:mode]}", text, config
|
299
|
+
end
|
300
|
+
|
301
|
+
def colorize_all(text, match)
|
302
|
+
match[:patterns].each do |regex, color|
|
303
|
+
if regex.match(text)
|
269
304
|
@last_color = color
|
270
|
-
return color
|
305
|
+
return text.colorize(color)
|
271
306
|
end
|
272
307
|
end
|
273
|
-
|
308
|
+
text
|
309
|
+
end
|
310
|
+
|
311
|
+
def colorize_grep(text, match)
|
312
|
+
return text unless match
|
313
|
+
@last_color = nil
|
314
|
+
match[:patterns].each do |regex, color|
|
315
|
+
text = text.colorize regex => color
|
316
|
+
end
|
317
|
+
text
|
274
318
|
end
|
275
319
|
|
276
320
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# The MIT License
|
2
|
+
#
|
3
|
+
# Copyright (c) 2012 Marcelo Guimarães <ataxexe@gmail.com>
|
4
|
+
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
10
|
+
# furnished to do so, subject to the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be included in
|
13
|
+
# all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
# THE SOFTWARE.
|
22
|
+
|
23
|
+
module Yummi
|
24
|
+
|
25
|
+
module DataParser
|
26
|
+
|
27
|
+
def self.yaml(input)
|
28
|
+
YAML::load(input)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.csv(input)
|
32
|
+
require 'csv' #autoload will be dead, using require instead
|
33
|
+
CSV::parse(input, :converters => :all)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# The MIT License
|
2
|
+
#
|
3
|
+
# Copyright (c) 2012 Marcelo Guimarães <ataxexe@gmail.com>
|
4
|
+
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
10
|
+
# furnished to do so, subject to the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be included in
|
13
|
+
# all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
# THE SOFTWARE.
|
22
|
+
|
23
|
+
class String
|
24
|
+
|
25
|
+
def uncolorize
|
26
|
+
Yummi::uncolorize self
|
27
|
+
end
|
28
|
+
|
29
|
+
def colorize params
|
30
|
+
if params.is_a? Hash
|
31
|
+
text = self
|
32
|
+
params.each do |regexp, color|
|
33
|
+
text = text.gsub(regexp, "\\0".colorize(color))
|
34
|
+
end
|
35
|
+
return text
|
36
|
+
end
|
37
|
+
Yummi::colorize self, params
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
data/lib/yummi/logger.rb
CHANGED
@@ -46,9 +46,9 @@ module Yummi
|
|
46
46
|
#
|
47
47
|
# Creates a new formatter with the colors (assuming Linux default terminal colors):
|
48
48
|
#
|
49
|
-
# * +DEBUG+:
|
50
|
-
# * +INFO+:
|
51
|
-
# * +WARN+:
|
49
|
+
# * +DEBUG+: blue
|
50
|
+
# * +INFO+: white
|
51
|
+
# * +WARN+: yellow
|
52
52
|
# * +ERROR+: red
|
53
53
|
# * +FATAL+: red (intense)
|
54
54
|
# * +ANY+: gray (intense)
|
@@ -58,8 +58,8 @@ module Yummi
|
|
58
58
|
#
|
59
59
|
def initialize &block
|
60
60
|
@colors = {
|
61
|
-
:debug =>
|
62
|
-
:info => :
|
61
|
+
:debug => :blue,
|
62
|
+
:info => :white,
|
63
63
|
:warn => :yellow,
|
64
64
|
:error => :red,
|
65
65
|
:fatal => :intense_red,
|
@@ -3,10 +3,10 @@ suffix: '>'
|
|
3
3
|
patterns:
|
4
4
|
Trace : purple
|
5
5
|
Debug : blue
|
6
|
-
Info :
|
6
|
+
Info : white
|
7
7
|
Notice : cyan
|
8
8
|
Warning : yellow
|
9
9
|
Error : red
|
10
10
|
Critical : intense_red
|
11
|
-
Alert :
|
12
|
-
Emergency :
|
11
|
+
Alert : intense_red
|
12
|
+
Emergency : intense_red
|
data/lib/yummi/table.rb
CHANGED
@@ -41,7 +41,7 @@ module Yummi
|
|
41
41
|
# * Values: using :value key
|
42
42
|
#
|
43
43
|
# The colors must be supported by #Yummi#Color#parse or defined in #Yummi#Color#COLORS
|
44
|
-
attr_accessor :
|
44
|
+
attr_accessor :style
|
45
45
|
# The table layout (horizontal or vertical)
|
46
46
|
attr_reader :layout
|
47
47
|
# The table header
|
@@ -59,7 +59,7 @@ module Yummi
|
|
59
59
|
@header = []
|
60
60
|
@title = nil
|
61
61
|
@description = nil
|
62
|
-
@
|
62
|
+
@style = {
|
63
63
|
:title => :intense_yellow,
|
64
64
|
:description => :intense_gray,
|
65
65
|
:header => :intense_blue,
|
@@ -80,7 +80,7 @@ module Yummi
|
|
80
80
|
|
81
81
|
# Indicates that the table should not use colors.
|
82
82
|
def no_colors
|
83
|
-
@
|
83
|
+
@style = {
|
84
84
|
:title => nil,
|
85
85
|
:header => nil,
|
86
86
|
:value => nil
|
@@ -355,8 +355,8 @@ module Yummi
|
|
355
355
|
data_output = build_data_output
|
356
356
|
|
357
357
|
string = ""
|
358
|
-
string << Color.colorize(@title, @
|
359
|
-
string << Color.colorize(@description, @
|
358
|
+
string << Color.colorize(@title, @style[:title]) << $/ if @title
|
359
|
+
string << Color.colorize(@description, @style[:description]) << $/ if @description
|
360
360
|
table_data = header_output + data_output
|
361
361
|
if @layout == :vertical
|
362
362
|
# don't use array transpose because the data may differ in each line size
|
@@ -430,7 +430,7 @@ module Yummi
|
|
430
430
|
@header.each do |line|
|
431
431
|
_data = []
|
432
432
|
line.each do |h|
|
433
|
-
_data << {:value => h, :color => @
|
433
|
+
_data << {:value => h, :color => @style[:header]}
|
434
434
|
end
|
435
435
|
output << _data
|
436
436
|
end
|
@@ -485,7 +485,7 @@ module Yummi
|
|
485
485
|
elsif colorizer
|
486
486
|
color = colorizer.call(column)
|
487
487
|
else
|
488
|
-
color = @
|
488
|
+
color = @style[:value]
|
489
489
|
end
|
490
490
|
formatter = component[:formatters][col_index]
|
491
491
|
formatter = component[:null_formatter] if column.nil? and @null_formatter
|
data/lib/yummi/text_box.rb
CHANGED
data/lib/yummi/version.rb
CHANGED
data/lib/yummi.rb
CHANGED
@@ -30,8 +30,8 @@ module Yummi
|
|
30
30
|
module Schema
|
31
31
|
# Normal Linux Terminal Colors, used by default in normal color types
|
32
32
|
NORMAL_COLORS = {
|
33
|
-
:colors => [:black, :red, :green, :yellow, :blue, :purple, :cyan, [:gray, :white]],
|
34
|
-
:default => :
|
33
|
+
:colors => [:black, :red, :green, [:yellow, :orange], :blue, :purple, :cyan, [:gray, :white]],
|
34
|
+
:default => :white
|
35
35
|
}
|
36
36
|
# Intense Linux Terminal Colors, used by default in bold color types
|
37
37
|
ALTERNATE_COLORS = {
|
@@ -97,21 +97,17 @@ module Yummi
|
|
97
97
|
|
98
98
|
# Escape the given text with the given color code
|
99
99
|
def self.escape key
|
100
|
-
return key unless key and COLORS[key.
|
101
|
-
"\e[#{COLORS[key.
|
100
|
+
return key unless key and COLORS[key.to_sym]
|
101
|
+
"\e[#{COLORS[key.to_sym]}m"
|
102
102
|
end
|
103
103
|
|
104
104
|
# Colorize the given text with the given color
|
105
105
|
def self.colorize string, color
|
106
|
+
return string if color.to_s == 'none'
|
106
107
|
color, end_color = [color, "\e[0;0m"].map { |key| Color.escape(key) }
|
107
108
|
color ? "#{color}#{string}#{end_color}" : string
|
108
109
|
end
|
109
110
|
|
110
|
-
# Extracts the text from a colorized string
|
111
|
-
def self.raw string
|
112
|
-
string.gsub(/\e\[\d;\d{2}m/, '').gsub(/\e\[0;0m/, '')
|
113
|
-
end
|
114
|
-
|
115
111
|
end
|
116
112
|
|
117
113
|
#
|
@@ -136,6 +132,13 @@ module Yummi
|
|
136
132
|
end
|
137
133
|
end
|
138
134
|
|
135
|
+
#
|
136
|
+
# Extracts the text from a colorized string
|
137
|
+
#
|
138
|
+
def self.uncolorize string
|
139
|
+
string.gsub(/\e\[\d;\d{2}m/, '').gsub(/\e\[0;0m/, '')
|
140
|
+
end
|
141
|
+
|
139
142
|
# A module to align texts based on a reference width
|
140
143
|
module Aligner
|
141
144
|
|
@@ -301,6 +304,23 @@ module Yummi
|
|
301
304
|
|
302
305
|
module Helpers
|
303
306
|
|
307
|
+
def self.load_resource name, params = {:from => ''}
|
308
|
+
file = File.expand_path name.to_s
|
309
|
+
if File.exist? file
|
310
|
+
return YAML::load_file(file)
|
311
|
+
else
|
312
|
+
from = params[:from].to_s
|
313
|
+
[
|
314
|
+
File.join(File.expand_path('~/.yummi'), from),
|
315
|
+
File.join(File.dirname(__FILE__), 'yummi', from)
|
316
|
+
].each do |path|
|
317
|
+
file = File.join(path, "#{name}.yaml")
|
318
|
+
return YAML::load_file(file) if File.exist?(file)
|
319
|
+
end
|
320
|
+
end
|
321
|
+
raise Exception::new("Unable to load #{name}")
|
322
|
+
end
|
323
|
+
|
304
324
|
def self.symbolize_keys hash
|
305
325
|
hash.replace(hash.inject({}) do |h, (k, v)|
|
306
326
|
v = symbolize_keys(v) if v.is_a? Hash
|
@@ -322,6 +342,8 @@ end
|
|
322
342
|
|
323
343
|
require_relative 'yummi/no_colors' if RUBY_PLATFORM['mingw'] #Windows
|
324
344
|
|
345
|
+
require_relative 'yummi/extensions'
|
346
|
+
require_relative 'yummi/data_parser'
|
325
347
|
require_relative "yummi/colorizers"
|
326
348
|
require_relative "yummi/formatters"
|
327
349
|
require_relative 'yummi/color_mapping'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yummi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.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-
|
12
|
+
date: 2012-12-01 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: A tool to colorize your console application.
|
15
15
|
email:
|
@@ -39,12 +39,14 @@ files:
|
|
39
39
|
- lib/yummi.rb
|
40
40
|
- lib/yummi/color_mapping.rb
|
41
41
|
- lib/yummi/colorizers.rb
|
42
|
+
- lib/yummi/data_parser.rb
|
43
|
+
- lib/yummi/extensions.rb
|
42
44
|
- lib/yummi/formatters.rb
|
43
45
|
- lib/yummi/logger.rb
|
44
|
-
- lib/yummi/mappings/jboss5.yaml
|
45
|
-
- lib/yummi/mappings/jboss7.yaml
|
46
|
-
- lib/yummi/mappings/weblogic11g.yaml
|
47
46
|
- lib/yummi/no_colors.rb
|
47
|
+
- lib/yummi/patterns/jboss.yaml
|
48
|
+
- lib/yummi/patterns/log.yaml
|
49
|
+
- lib/yummi/patterns/weblogic.yaml
|
48
50
|
- lib/yummi/table.rb
|
49
51
|
- lib/yummi/table_builder.rb
|
50
52
|
- lib/yummi/text_box.rb
|