riel 1.1.17 → 1.2.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.
- checksums.yaml +7 -0
- data/lib/riel/date.rb +12 -4
- data/lib/riel/dir.rb +73 -67
- data/lib/riel/enumerable.rb +30 -51
- data/lib/riel/pathname.rb +1 -1
- data/lib/riel/rcfile.rb +0 -2
- data/lib/riel/regexp.rb +2 -6
- data/lib/riel/setdiff.rb +0 -2
- data/lib/riel/string.rb +75 -80
- data/lib/riel/timer.rb +7 -9
- data/lib/riel.rb +1 -1
- data/test/riel/date_test.rb +4 -0
- data/test/riel/dir_test.rb +4 -0
- data/test/riel/enumerable_test.rb +86 -11
- data/test/riel/regexp_test.rb +6 -0
- data/test/riel/size_converter_test.rb +4 -4
- data/test/riel/string_test.rb +4 -4
- metadata +9 -32
- data/lib/riel/array.rb +0 -19
- data/lib/riel/log/log.rb +0 -244
- data/lib/riel/log/loggable.rb +0 -101
- data/lib/riel/log/logger.rb +0 -266
- data/lib/riel/log/severity.rb +0 -22
- data/lib/riel/log.rb +0 -21
- data/lib/riel/optproc.rb +0 -296
- data/test/riel/array_test.rb +0 -22
- data/test/riel/log/format_test.rb +0 -48
- data/test/riel/optproc_test.rb +0 -202
- data/test/riel/testlog/log_stack_test.rb +0 -98
- data/test/riel/testlog/log_test.rb +0 -254
- data/test/riel/testlog/loggable_test.rb +0 -31
@@ -4,21 +4,96 @@
|
|
4
4
|
require 'test/unit'
|
5
5
|
require 'riel/enumerable'
|
6
6
|
|
7
|
+
class Range
|
8
|
+
include RIEL::EnumerableExt
|
9
|
+
end
|
10
|
+
|
11
|
+
class Array
|
12
|
+
include RIEL::EnumerableExt
|
13
|
+
end
|
14
|
+
|
7
15
|
class EnumerableTestCase < Test::Unit::TestCase
|
8
|
-
def
|
9
|
-
|
10
|
-
|
16
|
+
def setup
|
17
|
+
@range = (4 .. 8)
|
18
|
+
end
|
19
|
+
|
20
|
+
def as_range
|
21
|
+
@range
|
22
|
+
end
|
23
|
+
|
24
|
+
def as_array
|
25
|
+
@range.to_a
|
26
|
+
end
|
27
|
+
|
28
|
+
def run_collect_with_index_test enum
|
29
|
+
assert_equal [ 0, 5, 12, 21, 32 ], enum.collect_with_index { |val, idx| val * idx }, "enum: #{enum.class}"
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_array_collect_with_index
|
33
|
+
run_collect_with_index_test as_array
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_range_collect_with_index
|
37
|
+
run_collect_with_index_test as_range
|
38
|
+
end
|
39
|
+
|
40
|
+
def run_select_with_index_multi_test enum
|
41
|
+
assert_equal [ 5, 6, 7, 8 ], enum.select_with_index { |val, idx| val >= 5 }, "enum: #{enum.class}"
|
42
|
+
end
|
43
|
+
|
44
|
+
def run_select_with_index_single_test enum
|
45
|
+
assert_equal [ 6 ], enum.select_with_index { |val, idx| val * idx == 12 }, "enum: #{enum.class}"
|
46
|
+
end
|
47
|
+
|
48
|
+
def run_select_with_index_none_test enum
|
49
|
+
assert_equal [], enum.select_with_index { |val, idx| idx - val > 0 }
|
11
50
|
end
|
12
51
|
|
13
|
-
def
|
14
|
-
|
15
|
-
|
16
|
-
|
52
|
+
def test_array_select_with_index_multi
|
53
|
+
run_select_with_index_multi_test as_array
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_array_select_with_index_single
|
57
|
+
run_select_with_index_single_test as_array
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_array_select_with_index_none
|
61
|
+
run_select_with_index_none_test as_array
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_range_select_with_index_multi
|
65
|
+
run_select_with_index_multi_test as_range
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_range_select_with_index_single
|
69
|
+
run_select_with_index_single_test as_range
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_range_select_with_index_none
|
73
|
+
run_select_with_index_none_test as_range
|
74
|
+
end
|
75
|
+
|
76
|
+
def run_detect_with_index_match_test enum
|
77
|
+
assert_equal 5, enum.detect_with_index { |val, idx| val >= 5 }
|
78
|
+
end
|
79
|
+
|
80
|
+
def run_detect_with_index_no_match_test enum
|
81
|
+
assert_equal nil, enum.detect_with_index { |val, idx| idx - val > 0 }
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_array_detect_with_index_match
|
85
|
+
run_detect_with_index_match_test as_array
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_array_detect_with_index_no_match
|
89
|
+
run_detect_with_index_no_match_test as_array
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_range_detect_with_index_match
|
93
|
+
run_detect_with_index_match_test as_range
|
17
94
|
end
|
18
95
|
|
19
|
-
def
|
20
|
-
|
21
|
-
assert_equal 6, (4 .. 8).detect_with_index { |val, idx| val * idx == 12 }
|
22
|
-
assert_equal nil, (4 .. 8).detect_with_index { |val, idx| idx - val > 0 }
|
96
|
+
def test_range_detect_with_index_no_match
|
97
|
+
run_detect_with_index_no_match_test as_range
|
23
98
|
end
|
24
99
|
end
|
data/test/riel/regexp_test.rb
CHANGED
@@ -19,4 +19,10 @@ class RegexpTestCase < Test::Unit::TestCase
|
|
19
19
|
assert NegatedRegexp.new("a[b-z]").match("aa")
|
20
20
|
assert NegatedRegexp.new(".+").match("")
|
21
21
|
end
|
22
|
+
|
23
|
+
def test_invalid_whole_word
|
24
|
+
assert_raises(RuntimeError) do
|
25
|
+
re = Regexp.create ':abc', wholewords: true
|
26
|
+
end
|
27
|
+
end
|
22
28
|
end
|
@@ -39,7 +39,7 @@ class SizeConverterTestCase < Test::Unit::TestCase
|
|
39
39
|
assert_equal data[offset + didx], conv, "size index: #{sidx}; data index: #{didx}; offset: #{offset}; decimal_places: #{dec_places}"
|
40
40
|
end
|
41
41
|
|
42
|
-
def
|
42
|
+
def run_size_test cls, offset
|
43
43
|
SIZES.each_with_index do |data, sidx|
|
44
44
|
assert_conversion cls, data, offset, 1, sidx
|
45
45
|
(0 .. 2).each do |dec_places|
|
@@ -49,14 +49,14 @@ class SizeConverterTestCase < Test::Unit::TestCase
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def test_default
|
52
|
-
|
52
|
+
run_size_test SizeConverter, 0
|
53
53
|
end
|
54
54
|
|
55
55
|
def test_human
|
56
|
-
|
56
|
+
run_size_test SizeConverter::Human, 0
|
57
57
|
end
|
58
58
|
|
59
59
|
def test_si
|
60
|
-
|
60
|
+
run_size_test SizeConverter::SI, 3
|
61
61
|
end
|
62
62
|
end
|
data/test/riel/string_test.rb
CHANGED
@@ -5,12 +5,12 @@ require 'pathname'
|
|
5
5
|
require 'test/unit'
|
6
6
|
require 'riel/string'
|
7
7
|
|
8
|
+
class String
|
9
|
+
include RIEL::StringExt
|
10
|
+
end
|
11
|
+
|
8
12
|
class StringToRangeTestCase < Test::Unit::TestCase
|
9
13
|
def run_string_to_range_test exp, str, args = Hash.new
|
10
|
-
String.to_ranges(str, args).each_with_index do |rg, idx|
|
11
|
-
assert_equal exp[idx], rg
|
12
|
-
end
|
13
|
-
|
14
14
|
str.to_ranges(args).each_with_index do |rg, idx|
|
15
15
|
assert_equal exp[idx], rg
|
16
16
|
end
|
metadata
CHANGED
@@ -1,30 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: riel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jeff Pace
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-10-20 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rainbow
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 1.1.4
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 1.1.4
|
30
27
|
description: This library extends the core Ruby libraries.
|
@@ -35,7 +32,6 @@ extra_rdoc_files:
|
|
35
32
|
- README.md
|
36
33
|
files:
|
37
34
|
- lib/riel.rb
|
38
|
-
- lib/riel/array.rb
|
39
35
|
- lib/riel/command.rb
|
40
36
|
- lib/riel/date.rb
|
41
37
|
- lib/riel/dir.rb
|
@@ -47,13 +43,7 @@ files:
|
|
47
43
|
- lib/riel/hash.rb
|
48
44
|
- lib/riel/integer.rb
|
49
45
|
- lib/riel/io.rb
|
50
|
-
- lib/riel/log.rb
|
51
|
-
- lib/riel/log/log.rb
|
52
|
-
- lib/riel/log/loggable.rb
|
53
|
-
- lib/riel/log/logger.rb
|
54
|
-
- lib/riel/log/severity.rb
|
55
46
|
- lib/riel/matchdata.rb
|
56
|
-
- lib/riel/optproc.rb
|
57
47
|
- lib/riel/pathname.rb
|
58
48
|
- lib/riel/rcfile.rb
|
59
49
|
- lib/riel/regexp.rb
|
@@ -62,7 +52,6 @@ files:
|
|
62
52
|
- lib/riel/string.rb
|
63
53
|
- lib/riel/tempfile.rb
|
64
54
|
- lib/riel/timer.rb
|
65
|
-
- test/riel/array_test.rb
|
66
55
|
- test/riel/command_test.rb
|
67
56
|
- test/riel/date_test.rb
|
68
57
|
- test/riel/dir_test.rb
|
@@ -73,9 +62,7 @@ files:
|
|
73
62
|
- test/riel/hash_test.rb
|
74
63
|
- test/riel/integer_test.rb
|
75
64
|
- test/riel/io_test.rb
|
76
|
-
- test/riel/log/format_test.rb
|
77
65
|
- test/riel/matchdata_test.rb
|
78
|
-
- test/riel/optproc_test.rb
|
79
66
|
- test/riel/pathname_test.rb
|
80
67
|
- test/riel/rcfile_test.rb
|
81
68
|
- test/riel/regexp_test.rb
|
@@ -83,37 +70,32 @@ files:
|
|
83
70
|
- test/riel/size_converter_test.rb
|
84
71
|
- test/riel/string_test.rb
|
85
72
|
- test/riel/tempfile_test.rb
|
86
|
-
- test/riel/testlog/log_stack_test.rb
|
87
|
-
- test/riel/testlog/log_test.rb
|
88
|
-
- test/riel/testlog/loggable_test.rb
|
89
73
|
- test/riel/timer_test.rb
|
90
74
|
- README.md
|
91
75
|
homepage: http://www.incava.org/projects/riel
|
92
76
|
licenses: []
|
77
|
+
metadata: {}
|
93
78
|
post_install_message:
|
94
79
|
rdoc_options: []
|
95
80
|
require_paths:
|
96
81
|
- lib
|
97
82
|
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
83
|
requirements:
|
100
|
-
- -
|
84
|
+
- - '>='
|
101
85
|
- !ruby/object:Gem::Version
|
102
86
|
version: '0'
|
103
87
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
|
-
none: false
|
105
88
|
requirements:
|
106
|
-
- -
|
89
|
+
- - '>='
|
107
90
|
- !ruby/object:Gem::Version
|
108
91
|
version: '0'
|
109
92
|
requirements: []
|
110
93
|
rubyforge_project:
|
111
|
-
rubygems_version:
|
94
|
+
rubygems_version: 2.0.6
|
112
95
|
signing_key:
|
113
|
-
specification_version:
|
96
|
+
specification_version: 4
|
114
97
|
summary: Extensions to core Ruby code.
|
115
98
|
test_files:
|
116
|
-
- test/riel/array_test.rb
|
117
99
|
- test/riel/command_test.rb
|
118
100
|
- test/riel/date_test.rb
|
119
101
|
- test/riel/dir_test.rb
|
@@ -124,9 +106,7 @@ test_files:
|
|
124
106
|
- test/riel/hash_test.rb
|
125
107
|
- test/riel/integer_test.rb
|
126
108
|
- test/riel/io_test.rb
|
127
|
-
- test/riel/log/format_test.rb
|
128
109
|
- test/riel/matchdata_test.rb
|
129
|
-
- test/riel/optproc_test.rb
|
130
110
|
- test/riel/pathname_test.rb
|
131
111
|
- test/riel/rcfile_test.rb
|
132
112
|
- test/riel/regexp_test.rb
|
@@ -134,7 +114,4 @@ test_files:
|
|
134
114
|
- test/riel/size_converter_test.rb
|
135
115
|
- test/riel/string_test.rb
|
136
116
|
- test/riel/tempfile_test.rb
|
137
|
-
- test/riel/testlog/log_stack_test.rb
|
138
|
-
- test/riel/testlog/log_test.rb
|
139
|
-
- test/riel/testlog/loggable_test.rb
|
140
117
|
- test/riel/timer_test.rb
|
data/lib/riel/array.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# -*- ruby -*-
|
3
|
-
|
4
|
-
class Array
|
5
|
-
$-w = false
|
6
|
-
|
7
|
-
# Wraps the array with brackets, and inserts a comma and a space between
|
8
|
-
# elements.
|
9
|
-
|
10
|
-
def to_s
|
11
|
-
"[ " + collect { |e| e.to_s }.join(", ") + " ]"
|
12
|
-
end
|
13
|
-
$-w = true
|
14
|
-
|
15
|
-
# $$$ this is the same as Array.sample
|
16
|
-
def rand
|
17
|
-
return self[Kernel.rand length]
|
18
|
-
end
|
19
|
-
end
|
data/lib/riel/log/log.rb
DELETED
@@ -1,244 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# -*- ruby -*-
|
3
|
-
#
|
4
|
-
# = log.rb
|
5
|
-
#
|
6
|
-
# Logging Module
|
7
|
-
#
|
8
|
-
# Author:: Jeff Pace <jpace@incava.org>
|
9
|
-
# Documentation:: Author
|
10
|
-
#
|
11
|
-
|
12
|
-
require 'riel/log/logger'
|
13
|
-
require 'riel/log/severity'
|
14
|
-
require 'rubygems'
|
15
|
-
require 'rainbow'
|
16
|
-
|
17
|
-
#
|
18
|
-
# == Log
|
19
|
-
#
|
20
|
-
# Very minimal logging output. If verbose is set, this displays the method and
|
21
|
-
# line number whence called. It can be a mixin to a class, which displays the
|
22
|
-
# class and method from where it called. If not in a class, it displays only the
|
23
|
-
# method.
|
24
|
-
#
|
25
|
-
# Remember: all kids love log.
|
26
|
-
#
|
27
|
-
# == Examples
|
28
|
-
#
|
29
|
-
# See the unit tests in log_test.rb
|
30
|
-
#
|
31
|
-
# == Usage
|
32
|
-
#
|
33
|
-
# The most general usage is simply to call:
|
34
|
-
#
|
35
|
-
# Log.log "some message"
|
36
|
-
#
|
37
|
-
# That will simply log the given message.
|
38
|
-
#
|
39
|
-
# class YourClass
|
40
|
-
# include Loggable
|
41
|
-
#
|
42
|
-
# def some_method(...)
|
43
|
-
# log "my message"
|
44
|
-
#
|
45
|
-
# That will log from the given class and method, showing the line number from
|
46
|
-
# which the logger was called.
|
47
|
-
#
|
48
|
-
# def another_method(...)
|
49
|
-
# stack "my message"
|
50
|
-
#
|
51
|
-
# That will produce a stack trace from the given location.
|
52
|
-
#
|
53
|
-
|
54
|
-
module RIEL
|
55
|
-
class Log
|
56
|
-
$LOGGING_LEVEL = nil
|
57
|
-
|
58
|
-
DEFAULT_FILENAME_WIDTH = -25
|
59
|
-
DEFAULT_LINENUM_WIDTH = 4
|
60
|
-
DEFAULT_FUNCTION_WIDTH = -20
|
61
|
-
|
62
|
-
include Log::Severity
|
63
|
-
|
64
|
-
# by default, class methods delegate to a single app-wide log.
|
65
|
-
|
66
|
-
@@log = Logger.new
|
67
|
-
|
68
|
-
# Returns the logger of the log. A class method delegating to an instance
|
69
|
-
# method ... not so good. But temporary.
|
70
|
-
def self.logger
|
71
|
-
@@log
|
72
|
-
end
|
73
|
-
|
74
|
-
def self.method_missing meth, *args, &blk
|
75
|
-
validcolors = Sickill::Rainbow::TERM_COLORS
|
76
|
-
# only handling foregrounds, not backgrounds
|
77
|
-
if code = validcolors[meth]
|
78
|
-
add_color_method meth.to_s, code + 30
|
79
|
-
send meth, *args, &blk
|
80
|
-
else
|
81
|
-
super
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
def self.respond_to? meth
|
86
|
-
validcolors = Sickill::Rainbow::TERM_COLORS
|
87
|
-
validcolors.include?(meth) || super
|
88
|
-
end
|
89
|
-
|
90
|
-
def self.add_color_method color, code
|
91
|
-
instmeth = Array.new
|
92
|
-
instmeth << "def #{color} msg = \"\", lvl = Log::DEBUG, depth = 1, cname = nil, &blk"
|
93
|
-
instmeth << " log(\"\\e[#{code}m\#{msg\}\\e[0m\", lvl, depth + 1, cname, &blk)"
|
94
|
-
instmeth << "end"
|
95
|
-
instance_eval instmeth.join("\n")
|
96
|
-
|
97
|
-
clsmeth = Array.new
|
98
|
-
clsmeth << "def #{color} msg = \"\", lvl = Log::DEBUG, depth = 1, cname = nil, &blk"
|
99
|
-
clsmeth << " logger.#{color}(\"\\e[#{code}m\#{msg\}\\e[0m\", lvl, depth + 1, cname, &blk)"
|
100
|
-
clsmeth << "end"
|
101
|
-
|
102
|
-
class_eval clsmeth.join("\n")
|
103
|
-
end
|
104
|
-
|
105
|
-
def self.set_default_widths
|
106
|
-
logger.set_default_widths
|
107
|
-
end
|
108
|
-
|
109
|
-
def self.verbose
|
110
|
-
logger.verbose
|
111
|
-
end
|
112
|
-
|
113
|
-
def self.verbose= v
|
114
|
-
logger.verbose = v && v != 0 ? DEBUG : FATAL
|
115
|
-
end
|
116
|
-
|
117
|
-
def self.level= lvl
|
118
|
-
logger.level = lvl
|
119
|
-
end
|
120
|
-
|
121
|
-
def self.quiet
|
122
|
-
logger.quiet
|
123
|
-
end
|
124
|
-
|
125
|
-
def self.quiet= q
|
126
|
-
logger.quiet = q
|
127
|
-
end
|
128
|
-
|
129
|
-
def self.format
|
130
|
-
logger.format
|
131
|
-
end
|
132
|
-
|
133
|
-
def self.format= fmt
|
134
|
-
logger.format = fmt
|
135
|
-
end
|
136
|
-
|
137
|
-
# Assigns output to the given stream.
|
138
|
-
def self.output= io
|
139
|
-
logger.output = io
|
140
|
-
end
|
141
|
-
|
142
|
-
def self.output
|
143
|
-
logger.output
|
144
|
-
end
|
145
|
-
|
146
|
-
# sets whether to colorize the entire line, or just the message.
|
147
|
-
def self.colorize_line= col
|
148
|
-
logger.colorize_line = col
|
149
|
-
end
|
150
|
-
|
151
|
-
def self.colorize_line
|
152
|
-
logger.colorize_line
|
153
|
-
end
|
154
|
-
|
155
|
-
# Assigns output to a file with the given name. Returns the file; client
|
156
|
-
# is responsible for closing it.
|
157
|
-
def self.outfile= fname
|
158
|
-
logger.outfile = fname
|
159
|
-
end
|
160
|
-
|
161
|
-
def self.outfile
|
162
|
-
logger.outfile
|
163
|
-
end
|
164
|
-
|
165
|
-
# Creates a printf format for the given widths, for aligning output.
|
166
|
-
def self.set_widths file_width, line_width, func_width
|
167
|
-
logger.set_widths file_width, line_width, func_width
|
168
|
-
end
|
169
|
-
|
170
|
-
def self.ignore_file fname
|
171
|
-
logger.ignore_file fname
|
172
|
-
end
|
173
|
-
|
174
|
-
def self.ignore_method methname
|
175
|
-
logger.ignored_method methname
|
176
|
-
end
|
177
|
-
|
178
|
-
def self.ignore_class classname
|
179
|
-
logger.ignored_class classname
|
180
|
-
end
|
181
|
-
|
182
|
-
def self.log_file fname
|
183
|
-
logger.log_file fname
|
184
|
-
end
|
185
|
-
|
186
|
-
def self.log_method methname
|
187
|
-
logger.log_method methname
|
188
|
-
end
|
189
|
-
|
190
|
-
def self.log_class classname
|
191
|
-
logger.log_class classname
|
192
|
-
end
|
193
|
-
|
194
|
-
def self.debug msg = "", depth = 1, &blk
|
195
|
-
logger.log msg, DEBUG, depth + 1, &blk
|
196
|
-
end
|
197
|
-
|
198
|
-
def self.info msg = "", depth = 1, &blk
|
199
|
-
logger.log msg, INFO, depth + 1, &blk
|
200
|
-
end
|
201
|
-
|
202
|
-
def self.fatal msg = "", depth = 1, &blk
|
203
|
-
logger.log msg, FATAL, depth + 1, &blk
|
204
|
-
end
|
205
|
-
|
206
|
-
def self.log msg = "", lvl = DEBUG, depth = 1, cname = nil, &blk
|
207
|
-
logger.log msg, lvl, depth + 1, cname, &blk
|
208
|
-
end
|
209
|
-
|
210
|
-
def self.stack msg = "", lvl = DEBUG, depth = 1, cname = nil, &blk
|
211
|
-
logger.stack msg, lvl, depth + 1, cname, &blk
|
212
|
-
end
|
213
|
-
|
214
|
-
def self.warn msg = "", depth = 1, &blk
|
215
|
-
if verbose
|
216
|
-
logger.log msg, WARN, depth + 1, &blk
|
217
|
-
else
|
218
|
-
$stderr.puts "WARNING: " + msg
|
219
|
-
end
|
220
|
-
end
|
221
|
-
|
222
|
-
def self.error msg = "", depth = 1, &blk
|
223
|
-
if verbose
|
224
|
-
logger.log msg, ERROR, depth + 1, &blk
|
225
|
-
else
|
226
|
-
$stderr.puts "ERROR: " + msg
|
227
|
-
end
|
228
|
-
end
|
229
|
-
|
230
|
-
def self.write msg, depth = 1, cname = nil, &blk
|
231
|
-
if verbose
|
232
|
-
stack msg, Log::WARN, depth + 1, cname, &blk
|
233
|
-
elsif quiet
|
234
|
-
# nothing
|
235
|
-
else
|
236
|
-
$stderr.puts msg
|
237
|
-
end
|
238
|
-
end
|
239
|
-
|
240
|
-
def self.set_color lvl, color
|
241
|
-
logger.set_color lvl, color
|
242
|
-
end
|
243
|
-
end
|
244
|
-
end
|
data/lib/riel/log/loggable.rb
DELETED
@@ -1,101 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# -*- ruby -*-
|
3
|
-
#
|
4
|
-
# = log.rb
|
5
|
-
#
|
6
|
-
# Logging Module
|
7
|
-
#
|
8
|
-
# Author:: Jeff Pace <jpace@incava.org>
|
9
|
-
# Documentation:: Author
|
10
|
-
#
|
11
|
-
|
12
|
-
require 'riel/log/log'
|
13
|
-
require 'rubygems'
|
14
|
-
require 'rainbow'
|
15
|
-
|
16
|
-
#
|
17
|
-
# == Loggable
|
18
|
-
#
|
19
|
-
# Including this module in a class gives access to the logger methods.
|
20
|
-
#
|
21
|
-
# == Examples
|
22
|
-
#
|
23
|
-
# See the unit tests in log_test.rb
|
24
|
-
#
|
25
|
-
# == Usage
|
26
|
-
#
|
27
|
-
# class YourClass
|
28
|
-
# include Loggable
|
29
|
-
#
|
30
|
-
# def some_method(...)
|
31
|
-
# log "my message"
|
32
|
-
#
|
33
|
-
# That will log from the given class and method, showing the line number from
|
34
|
-
# which the logger was called.
|
35
|
-
#
|
36
|
-
# def another_method(...)
|
37
|
-
# stack "my message"
|
38
|
-
#
|
39
|
-
# That will produce a stack trace from the given location.
|
40
|
-
#
|
41
|
-
|
42
|
-
module RIEL
|
43
|
-
module Loggable
|
44
|
-
# Logs the given message, including the class whence invoked.
|
45
|
-
def log msg = "", lvl = Log::DEBUG, depth = 1, &blk
|
46
|
-
Log.log msg, lvl, depth + 1, self.class.to_s, &blk
|
47
|
-
end
|
48
|
-
|
49
|
-
def debug msg = "", depth = 1, &blk
|
50
|
-
Log.log msg, Log::DEBUG, depth + 1, self.class.to_s, &blk
|
51
|
-
end
|
52
|
-
|
53
|
-
def info msg = "", depth = 1, &blk
|
54
|
-
Log.log msg, Log::INFO, depth + 1, self.class.to_s, &blk
|
55
|
-
end
|
56
|
-
|
57
|
-
def warn msg = "", depth = 1, &blk
|
58
|
-
Log.log msg, Log::WARN, depth + 1, self.class.to_s, &blk
|
59
|
-
end
|
60
|
-
|
61
|
-
def error msg = "", depth = 1, &blk
|
62
|
-
Log.log msg, Log::ERROR, depth + 1, self.class.to_s, &blk
|
63
|
-
end
|
64
|
-
|
65
|
-
def fatal msg = "", depth = 1, &blk
|
66
|
-
Log.log msg, Log::FATAL, depth + 1, self.class.to_s, &blk
|
67
|
-
end
|
68
|
-
|
69
|
-
def stack msg = "", lvl = Log::DEBUG, depth = 1, &blk
|
70
|
-
Log.stack msg, lvl, depth + 1, self.class.to_s, &blk
|
71
|
-
end
|
72
|
-
|
73
|
-
def write msg = "", depth = 1, &blk
|
74
|
-
Log.write msg, depth + 1, self.class.to_s, &blk
|
75
|
-
end
|
76
|
-
|
77
|
-
def method_missing meth, *args, &blk
|
78
|
-
validcolors = Sickill::Rainbow::TERM_COLORS
|
79
|
-
# only handling foregrounds, not backgrounds
|
80
|
-
if code = validcolors[meth]
|
81
|
-
add_color_method meth.to_s, code + 30
|
82
|
-
send meth, *args, &blk
|
83
|
-
else
|
84
|
-
super
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
def respond_to? meth
|
89
|
-
validcolors = Sickill::Rainbow::TERM_COLORS
|
90
|
-
validcolors.include?(meth) || super
|
91
|
-
end
|
92
|
-
|
93
|
-
def add_color_method color, code
|
94
|
-
meth = Array.new
|
95
|
-
meth << "def #{color}(msg = \"\", lvl = Log::DEBUG, depth = 1, cname = nil, &blk)"
|
96
|
-
meth << " Log.#{color} msg, lvl, depth + 1, self.class.to_s, &blk"
|
97
|
-
meth << "end"
|
98
|
-
self.class.module_eval meth.join("\n")
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|