eymiha_util 1.0.0 → 1.0.1
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/gem_package.rb +1 -1
- data/html/classes/Eymiha.html +16 -1
- data/html/classes/Eymiha/BaseEnvelope.html +16 -16
- data/html/classes/Eymiha/BaseEnvelope.src/{M000010.html → M000014.html} +0 -0
- data/html/classes/Eymiha/BaseEnvelope.src/{M000011.html → M000015.html} +0 -0
- data/html/classes/Eymiha/BaseEnvelope.src/{M000012.html → M000016.html} +0 -0
- data/html/classes/Eymiha/EasyLog.html +246 -0
- data/html/classes/Eymiha/EasyLog.src/M000001.html +20 -0
- data/html/classes/Eymiha/EasyLog.src/M000002.html +18 -0
- data/html/classes/Eymiha/EasyLog.src/M000003.html +18 -0
- data/html/classes/Eymiha/EasyLog.src/M000004.html +18 -0
- data/html/classes/Eymiha/EasyLogFormatter.html +192 -0
- data/html/classes/Eymiha/EasyLogFormatter.src/M000017.html +21 -0
- data/html/classes/Eymiha/EasyLogFormatter.src/M000018.html +18 -0
- data/html/classes/Eymiha/EasyLogFormatter.src/M000019.html +18 -0
- data/html/classes/Eymiha/EasyLogger.html +218 -0
- data/html/classes/Eymiha/EasyLogger.src/M000032.html +22 -0
- data/html/classes/Eymiha/EasyLogger.src/M000033.html +18 -0
- data/html/classes/Eymiha/EasyLogger.src/M000034.html +18 -0
- data/html/classes/Eymiha/Envelope.html +47 -47
- data/html/classes/Eymiha/Envelope.src/{M000025.html → M000044.html} +0 -0
- data/html/classes/Eymiha/Envelope.src/{M000026.html → M000045.html} +0 -0
- data/html/classes/Eymiha/Envelope.src/{M000027.html → M000046.html} +0 -0
- data/html/classes/Eymiha/Envelope.src/{M000028.html → M000047.html} +0 -0
- data/html/classes/Eymiha/Envelope.src/{M000029.html → M000048.html} +0 -0
- data/html/classes/Eymiha/Envelope.src/{M000030.html → M000049.html} +0 -0
- data/html/classes/Eymiha/Envelope.src/{M000032.html → M000051.html} +0 -0
- data/html/classes/Eymiha/ForwardReference.html +11 -11
- data/html/classes/Eymiha/ForwardReference.src/{M000033.html → M000054.html} +0 -0
- data/html/classes/Eymiha/ForwardReference.src/{M000034.html → M000055.html} +0 -0
- data/html/classes/Eymiha/ForwardReferencing.html +46 -46
- data/html/classes/Eymiha/ForwardReferencing.src/M000005.html +6 -4
- data/html/classes/Eymiha/ForwardReferencing.src/M000006.html +6 -11
- data/html/classes/Eymiha/ForwardReferencing.src/M000007.html +6 -4
- data/html/classes/Eymiha/ForwardReferencing.src/M000008.html +18 -4
- data/html/classes/Eymiha/ForwardReferencing.src/M000009.html +4 -4
- data/html/classes/Eymiha/ForwardReferencing.src/M000010.html +25 -0
- data/html/classes/Eymiha/ForwardReferencing.src/M000011.html +18 -0
- data/html/classes/Eymiha/ForwardReferencing.src/M000012.html +18 -0
- data/html/classes/Eymiha/ForwardReferencing.src/M000013.html +18 -0
- data/html/classes/Eymiha/Histogram.html +60 -60
- data/html/classes/Eymiha/Histogram.src/{M000016.html → M000035.html} +0 -0
- data/html/classes/Eymiha/Histogram.src/{M000017.html → M000036.html} +0 -0
- data/html/classes/Eymiha/Histogram.src/{M000018.html → M000037.html} +0 -0
- data/html/classes/Eymiha/Histogram.src/{M000019.html → M000038.html} +0 -0
- data/html/classes/Eymiha/Histogram.src/{M000020.html → M000039.html} +0 -0
- data/html/classes/Eymiha/Histogram.src/{M000021.html → M000040.html} +0 -0
- data/html/classes/Eymiha/Histogram.src/{M000022.html → M000041.html} +0 -0
- data/html/classes/Eymiha/Histogram.src/{M000023.html → M000042.html} +0 -0
- data/html/classes/Eymiha/Histogram.src/{M000024.html → M000043.html} +0 -0
- data/html/classes/Eymiha/MethodicHash.html +17 -17
- data/html/classes/Eymiha/MethodicHash.src/{M000013.html → M000026.html} +0 -0
- data/html/classes/Eymiha/MethodicHash.src/{M000014.html → M000027.html} +0 -0
- data/html/classes/Eymiha/MethodicHash.src/{M000015.html → M000028.html} +0 -0
- data/html/classes/Eymiha/StringMap.html +184 -0
- data/html/classes/Eymiha/StringMap.src/M000029.html +18 -0
- data/html/classes/Eymiha/StringMap.src/M000030.html +18 -0
- data/html/classes/Eymiha/StringMap.src/M000031.html +18 -0
- data/html/classes/Eymiha/StringMapException.html +111 -0
- data/html/classes/Eymiha/StringMapFormat.html +227 -0
- data/html/classes/Eymiha/StringMapFormat.src/M000020.html +20 -0
- data/html/classes/Eymiha/StringMapFormat.src/M000021.html +19 -0
- data/html/classes/Eymiha/StringMapFormat.src/M000022.html +18 -0
- data/html/classes/Eymiha/StringMapFormat.src/M000023.html +22 -0
- data/html/classes/Eymiha/StringMapFormat.src/M000024.html +19 -0
- data/html/classes/Eymiha/StringMapFormat.src/M000025.html +17 -0
- data/html/classes/Eymiha/StringMapFormatItem.html +156 -0
- data/html/classes/Eymiha/StringMapFormatItem.src/M000052.html +21 -0
- data/html/classes/Eymiha/StringMapFormatItem.src/M000053.html +18 -0
- data/html/created.rid +1 -1
- data/html/files/lib/eymiha/util/easylog_rb.html +116 -0
- data/html/files/lib/eymiha/util/enum_rb.html +1 -1
- data/html/files/lib/eymiha/util/envelope_rb.html +1 -1
- data/html/files/lib/eymiha/util/forward_referencing_rb.html +1 -1
- data/html/files/lib/eymiha/util/histogram_rb.html +1 -1
- data/html/files/lib/eymiha/util/methodic_hash_rb.html +1 -1
- data/html/files/lib/eymiha/util/string_map_rb.html +101 -0
- data/html/files/lib/eymiha/util_rb.html +2 -1
- data/html/fr_class_index.html +7 -0
- data/html/fr_file_index.html +2 -0
- data/html/fr_method_index.html +55 -34
- data/html/index.html +1 -1
- data/lib/eymiha/util.rb +1 -0
- data/lib/eymiha/util/easylog.rb +184 -0
- data/lib/eymiha/util/string_map.rb +78 -0
- data/test/tc_easylog.rb +106 -0
- metadata +69 -30
- data/html/classes/Eymiha/ForwardReferencing.src/M000001.html +0 -20
- data/html/classes/Eymiha/ForwardReferencing.src/M000002.html +0 -20
- data/html/classes/Eymiha/ForwardReferencing.src/M000003.html +0 -20
- data/html/classes/Eymiha/ForwardReferencing.src/M000004.html +0 -32
data/html/index.html
CHANGED
@@ -19,6 +19,6 @@
|
|
19
19
|
<frame src="fr_class_index.html" name="Classes" />
|
20
20
|
<frame src="fr_method_index.html" name="Methods" />
|
21
21
|
</frameset>
|
22
|
-
<frame src="files/lib/eymiha/util/
|
22
|
+
<frame src="files/lib/eymiha/util/easylog_rb.html" name="docwin" />
|
23
23
|
</frameset>
|
24
24
|
</html>
|
data/lib/eymiha/util.rb
CHANGED
@@ -0,0 +1,184 @@
|
|
1
|
+
require 'eymiha'
|
2
|
+
require 'logger'
|
3
|
+
|
4
|
+
|
5
|
+
module Eymiha
|
6
|
+
|
7
|
+
# EasyLogFormatter instances are used to format logging messages generated by
|
8
|
+
# the EasyLogger class. They consist of a date-time stamp, the severity and
|
9
|
+
# a log message.
|
10
|
+
class EasyLogFormatter < Logger::Formatter
|
11
|
+
|
12
|
+
# Creates an instance, using the specified subsecond precision to format
|
13
|
+
# fractional seconds. If nil, the calculated subsecond precision of the
|
14
|
+
# Time class is used.
|
15
|
+
def initialize(subsecond_precision = nil)
|
16
|
+
super()
|
17
|
+
@AppLogFormat = "%s %-5s %s\n"
|
18
|
+
self.datetime_format = "%m/%d/%y %H:%M:%S."
|
19
|
+
@usecs = subsecond_precision || Time.subsecond_precision
|
20
|
+
end
|
21
|
+
|
22
|
+
# Returns a String containing a date-time stamp for the given time in
|
23
|
+
# month/day/year hour:minute:second.microsecond format with the microsecond
|
24
|
+
# part having the precision specified when the instance was created.
|
25
|
+
def format_datetime(time)
|
26
|
+
time.strftime(datetime_format) << ("%06d" % time.usec)[0,@usecs]
|
27
|
+
end
|
28
|
+
|
29
|
+
# Returns a String containing a formatted log entry consisting of the given
|
30
|
+
# date-time stamp, severity and log message.
|
31
|
+
def call(severity, time, progname, msg)
|
32
|
+
@AppLogFormat % [format_datetime(time), severity, msg2str(msg)]
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
# Primarily, EasyLogger provides a convienient interface to the Logger at the
|
38
|
+
# class level. The class contains a "default" instance of Logger to which the
|
39
|
+
# class methods send their log messages. By convention, the first instance
|
40
|
+
# created is made the default, however this can be changed. Of course,
|
41
|
+
# instances may be used directly for logging if desired. Instances format
|
42
|
+
# their log entries using an EasyLogFormatter.
|
43
|
+
#
|
44
|
+
# Five class-level methods are built that have the same names as the instance
|
45
|
+
# methods: debug, info, warn, error and fatal. Their arguments are different,
|
46
|
+
# however, being the message to be logged and optionally, one or more Loggers
|
47
|
+
# to log the message. If no Loggers are passed, the default is used, and if
|
48
|
+
# that is nil,no logging takes place.
|
49
|
+
class EasyLogger < Logger
|
50
|
+
|
51
|
+
class_attr_reader :default_logger
|
52
|
+
attr_accessor :classify
|
53
|
+
|
54
|
+
# Creates a new EasyLogger instance. Logging is recorded through the given
|
55
|
+
# logdev, either an IO stream or to a file when logdev is a String
|
56
|
+
# containing its filename. Shift age is either the number of log files to
|
57
|
+
# keep, or the frequency of rotation. Shift size is the maximum logfile
|
58
|
+
# size, applicable when shift age is a number. Subsecond precision is the
|
59
|
+
# number of decimal places that express fractional seconds. If this is the
|
60
|
+
# first instance being created, it is remembered and used by the logging
|
61
|
+
# methods at the class level as the default logger.
|
62
|
+
def initialize(logdev, shift_age = 'weekly', shift_size = 1048576,
|
63
|
+
subsecond_precision = nil)
|
64
|
+
super(logdev, shift_age, shift_size)
|
65
|
+
@formatter = EasyLogFormatter.new(subsecond_precision)
|
66
|
+
@classify = true
|
67
|
+
@@default_logger = self unless @@default_logger
|
68
|
+
end
|
69
|
+
|
70
|
+
# Changes the default logger to the new logger.
|
71
|
+
def self.change_logger(new)
|
72
|
+
old, @@default_logger = @@default_logger, new
|
73
|
+
end
|
74
|
+
|
75
|
+
# Sets the default logger to nil, indicating that further class level
|
76
|
+
# logging through the default logger mechanism is disabled.
|
77
|
+
def self.finish_logging
|
78
|
+
change_logger nil
|
79
|
+
end
|
80
|
+
|
81
|
+
private
|
82
|
+
|
83
|
+
def self.build_loggers
|
84
|
+
(0..4).collect { |i| Logger::SEV_LABEL[i].downcase }.each do |severity|
|
85
|
+
EasyLogger.class_eval <<EOF
|
86
|
+
def self.#{severity}(message,*loggers)
|
87
|
+
loggers = [@@default_logger] if loggers.length == 0
|
88
|
+
loggers.compact.each { |logger| logger.#{severity}(message) }
|
89
|
+
end
|
90
|
+
EOF
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
self.build_loggers
|
95
|
+
|
96
|
+
end
|
97
|
+
|
98
|
+
|
99
|
+
# EasyLog is a quick and convenient way to implement logging in Ruby code.
|
100
|
+
# By requiring the eymiha/util/easylog code, Easylog is included into module
|
101
|
+
# and is subsequently available to all classes.
|
102
|
+
#
|
103
|
+
# There is a natural flow to EasyLog logging. First logging is started
|
104
|
+
# somewhere on high
|
105
|
+
#
|
106
|
+
# start_logging filename
|
107
|
+
#
|
108
|
+
# then messages are written to the log with the appropriate severity (here
|
109
|
+
# an informational message is logged)
|
110
|
+
#
|
111
|
+
# log_info "something happened: #{foo}"
|
112
|
+
#
|
113
|
+
# and optionally, when finished,
|
114
|
+
#
|
115
|
+
# finish_logging
|
116
|
+
#
|
117
|
+
# The upshot is that logging can be done from anywhere, and is as simple and
|
118
|
+
# easy as possible.
|
119
|
+
#
|
120
|
+
# The module builds five methods for EasyLog logging corresponding to the
|
121
|
+
# five Logger severities: log_debug, log_info, log_warn, log_error and
|
122
|
+
# log_fatal. Their arguments are a message to be logged, and optionally
|
123
|
+
# one or more EasyLoggers that will be the targets of the message.
|
124
|
+
#
|
125
|
+
# Note that the classify attribute of an EasyLogger stores the decision
|
126
|
+
# about adding the class name to the end of the message or not; by default
|
127
|
+
# it is true and class names are added.
|
128
|
+
#
|
129
|
+
# easylogger.classify = false
|
130
|
+
#
|
131
|
+
# will turn this off.
|
132
|
+
module EasyLog
|
133
|
+
|
134
|
+
# Creates a new EasyLogger instance with the given arguments, and uses it
|
135
|
+
# for all subsequent EasyLog logging. The arguments are the same as used in
|
136
|
+
# EasyLogger creation.
|
137
|
+
def start_logging(logdev, shift_age = 'weekly', shift_size = 1048576,
|
138
|
+
subsecond_precision = nil)
|
139
|
+
EasyLogger.finish_logging
|
140
|
+
EasyLogger.new(logdev, shift_age, shift_size, subsecond_precision)
|
141
|
+
end
|
142
|
+
|
143
|
+
# Returns the EasyLogger that is being used for EasyLog logging.
|
144
|
+
def easylogger
|
145
|
+
EasyLogger.default_logger
|
146
|
+
end
|
147
|
+
|
148
|
+
# Changes the EasyLogger used for EasyLog logging to the given EasyLogger.
|
149
|
+
def change_easylogger(easylogger)
|
150
|
+
EasyLogger.change_logger(easylogger)
|
151
|
+
end
|
152
|
+
|
153
|
+
# Turns off EasyLog logging until restarted.
|
154
|
+
def finish_logging
|
155
|
+
EasyLogger.finish_logging
|
156
|
+
end
|
157
|
+
|
158
|
+
private
|
159
|
+
|
160
|
+
def classify_log_message(message,easylogger)
|
161
|
+
((easylogger != nil) ? easylogger.classify : false) ?
|
162
|
+
"#{message} (#{class_name})" : message
|
163
|
+
end
|
164
|
+
|
165
|
+
def self.build_loggers
|
166
|
+
(0..4).collect { |i| Logger::SEV_LABEL[i].downcase }.each do |severity|
|
167
|
+
EasyLog.module_eval <<EOF
|
168
|
+
def log_#{severity}(message,*easyloggers)
|
169
|
+
easyloggers = [easylogger] if easyloggers.size == 0
|
170
|
+
easyloggers.flatten.each { |easylogger|
|
171
|
+
EasyLogger.#{severity}(classify_log_message(message,easylogger),easylogger)
|
172
|
+
}
|
173
|
+
end
|
174
|
+
EOF
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
self.build_loggers
|
179
|
+
|
180
|
+
end
|
181
|
+
|
182
|
+
end
|
183
|
+
|
184
|
+
include Eymiha::EasyLog
|
@@ -0,0 +1,78 @@
|
|
1
|
+
module Eymiha
|
2
|
+
|
3
|
+
class StringMapException < Execption
|
4
|
+
end
|
5
|
+
|
6
|
+
class StringMap < MethodicHash
|
7
|
+
|
8
|
+
attr_reader :_format
|
9
|
+
|
10
|
+
def initialize format
|
11
|
+
@_format = StringMapFormat.new(format)
|
12
|
+
end
|
13
|
+
|
14
|
+
def encode_string
|
15
|
+
@_format.encode self
|
16
|
+
end
|
17
|
+
|
18
|
+
def decode_string(string)
|
19
|
+
@_format.decode self, string
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
class StringMapFormat
|
26
|
+
|
27
|
+
attr_reader :format
|
28
|
+
|
29
|
+
def initialize format, buffer = nil
|
30
|
+
@_format = (format.kind_of? StringMapFormat) ?
|
31
|
+
format._format.copy : itemize(format)
|
32
|
+
@buffer = buffer || make_buffer
|
33
|
+
end
|
34
|
+
|
35
|
+
def itemize format
|
36
|
+
itemized_format = []
|
37
|
+
format.each { |element| StringMapFormatItem.new
|
38
|
+
end
|
39
|
+
|
40
|
+
def make_buffer
|
41
|
+
instance_eval "@buffer="#{(1..buffersize(true)).each { puts ' ' }}""
|
42
|
+
end
|
43
|
+
|
44
|
+
def buffersize(calculate = false)
|
45
|
+
if calculate
|
46
|
+
@format.collect{ |item| item.next_start }.max
|
47
|
+
else
|
48
|
+
@buffer.size
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def encode string_map
|
53
|
+
buffer = @buffer.copy
|
54
|
+
@format.each { |item|
|
55
|
+
end
|
56
|
+
|
57
|
+
def decode string_map, string
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
|
63
|
+
class StringMapFormatItem < MethodicHash
|
64
|
+
|
65
|
+
def initialize(hash)
|
66
|
+
self.merge hash
|
67
|
+
raise StringMapError, "Invalid Item Format" unless
|
68
|
+
name and start and length
|
69
|
+
self.klass = String unless klass
|
70
|
+
end
|
71
|
+
|
72
|
+
def next_start
|
73
|
+
start + length
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
data/test/tc_easylog.rb
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
|
3
|
+
require 'stringio'
|
4
|
+
require 'eymiha/util/easylog'
|
5
|
+
|
6
|
+
include Eymiha
|
7
|
+
|
8
|
+
class TC_log < Test::Unit::TestCase
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
finish_logging
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_debug
|
15
|
+
log = StringIO.new
|
16
|
+
start_logging log
|
17
|
+
log_debug "logging"
|
18
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* DEBUG logging \(TC_log\)/ =~
|
19
|
+
log.string)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_info
|
23
|
+
log = StringIO.new
|
24
|
+
start_logging log
|
25
|
+
log_info "logging"
|
26
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* INFO logging \(TC_log\)/ =~
|
27
|
+
log.string)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_warn
|
31
|
+
log = StringIO.new
|
32
|
+
start_logging log
|
33
|
+
log_warn "logging"
|
34
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* WARN logging \(TC_log\)/ =~
|
35
|
+
log.string)
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_error
|
39
|
+
log = StringIO.new
|
40
|
+
start_logging log
|
41
|
+
log_error "logging"
|
42
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* ERROR logging \(TC_log\)/ =~
|
43
|
+
log.string)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_fatal
|
47
|
+
log = StringIO.new
|
48
|
+
start_logging log
|
49
|
+
log_fatal "logging"
|
50
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* FATAL logging \(TC_log\)/ =~
|
51
|
+
log.string)
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_easylogger_instance
|
55
|
+
log1 = StringIO.new
|
56
|
+
logger1 = EasyLogger.new(log1)
|
57
|
+
log2 = StringIO.new
|
58
|
+
logger2 = EasyLogger.new(log2)
|
59
|
+
logger1.info("once")
|
60
|
+
logger2.info("twice")
|
61
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* INFO once/ =~
|
62
|
+
log1.string)
|
63
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* INFO twice/ =~
|
64
|
+
log2.string)
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_change_log
|
68
|
+
log1 = StringIO.new
|
69
|
+
log2 = StringIO.new
|
70
|
+
start_logging log1
|
71
|
+
logger2 = EasyLogger.new(log2)
|
72
|
+
log_info "once"
|
73
|
+
change_easylogger logger2
|
74
|
+
log_info "twice"
|
75
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* INFO once \(TC_log\)/ =~
|
76
|
+
log1.string)
|
77
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* INFO twice \(TC_log\)/ =~
|
78
|
+
log2.string)
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_multi_log
|
82
|
+
log1 = StringIO.new
|
83
|
+
log2 = StringIO.new
|
84
|
+
start_logging log1
|
85
|
+
logger2 = EasyLogger.new(log2)
|
86
|
+
log_info "once"
|
87
|
+
log_info "twice",logger2
|
88
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* INFO once \(TC_log\)/ =~
|
89
|
+
log1.string)
|
90
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* INFO twice \(TC_log\)/ =~
|
91
|
+
log2.string)
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_change_classify
|
95
|
+
log = StringIO.new
|
96
|
+
start_logging log
|
97
|
+
easylogger.classify = false
|
98
|
+
log_info "logging"
|
99
|
+
assert(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* INFO logging/ =~
|
100
|
+
log.string)
|
101
|
+
assert(!(/\d\d\/\d\d\/\d\d \d\d:\d\d:\d\d.\d* INFO logging \(/ =~
|
102
|
+
log.string))
|
103
|
+
end
|
104
|
+
|
105
|
+
end
|
106
|
+
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: eymiha_util
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2008-
|
6
|
+
version: 1.0.1
|
7
|
+
date: 2008-06-09 00:00:00 -04:00
|
8
8
|
summary: Eymiha general utility classes and methods
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -33,12 +33,15 @@ files:
|
|
33
33
|
- rakefile.rb
|
34
34
|
- lib/eymiha
|
35
35
|
- lib/eymiha/util
|
36
|
+
- lib/eymiha/util/easylog.rb
|
36
37
|
- lib/eymiha/util/enum.rb
|
37
38
|
- lib/eymiha/util/envelope.rb
|
38
39
|
- lib/eymiha/util/forward_referencing.rb
|
39
40
|
- lib/eymiha/util/histogram.rb
|
40
41
|
- lib/eymiha/util/methodic_hash.rb
|
42
|
+
- lib/eymiha/util/string_map.rb
|
41
43
|
- lib/eymiha/util.rb
|
44
|
+
- test/tc_easylog.rb
|
42
45
|
- test/tc_enum.rb
|
43
46
|
- test/tc_envelope.rb
|
44
47
|
- test/tc_forward_referencing.rb
|
@@ -48,64 +51,100 @@ files:
|
|
48
51
|
- html/classes/Eymiha
|
49
52
|
- html/classes/Eymiha/BaseEnvelope.html
|
50
53
|
- html/classes/Eymiha/BaseEnvelope.src
|
51
|
-
- html/classes/Eymiha/BaseEnvelope.src/
|
52
|
-
- html/classes/Eymiha/BaseEnvelope.src/
|
53
|
-
- html/classes/Eymiha/BaseEnvelope.src/
|
54
|
+
- html/classes/Eymiha/BaseEnvelope.src/M000014.html
|
55
|
+
- html/classes/Eymiha/BaseEnvelope.src/M000015.html
|
56
|
+
- html/classes/Eymiha/BaseEnvelope.src/M000016.html
|
57
|
+
- html/classes/Eymiha/EasyLog.html
|
58
|
+
- html/classes/Eymiha/EasyLog.src
|
59
|
+
- html/classes/Eymiha/EasyLog.src/M000001.html
|
60
|
+
- html/classes/Eymiha/EasyLog.src/M000002.html
|
61
|
+
- html/classes/Eymiha/EasyLog.src/M000003.html
|
62
|
+
- html/classes/Eymiha/EasyLog.src/M000004.html
|
63
|
+
- html/classes/Eymiha/EasyLogFormatter.html
|
64
|
+
- html/classes/Eymiha/EasyLogFormatter.src
|
65
|
+
- html/classes/Eymiha/EasyLogFormatter.src/M000017.html
|
66
|
+
- html/classes/Eymiha/EasyLogFormatter.src/M000018.html
|
67
|
+
- html/classes/Eymiha/EasyLogFormatter.src/M000019.html
|
68
|
+
- html/classes/Eymiha/EasyLogger.html
|
69
|
+
- html/classes/Eymiha/EasyLogger.src
|
70
|
+
- html/classes/Eymiha/EasyLogger.src/M000032.html
|
71
|
+
- html/classes/Eymiha/EasyLogger.src/M000033.html
|
72
|
+
- html/classes/Eymiha/EasyLogger.src/M000034.html
|
54
73
|
- html/classes/Eymiha/Enum.html
|
55
74
|
- html/classes/Eymiha/Envelope.html
|
56
75
|
- html/classes/Eymiha/Envelope.src
|
57
|
-
- html/classes/Eymiha/Envelope.src/
|
58
|
-
- html/classes/Eymiha/Envelope.src/
|
59
|
-
- html/classes/Eymiha/Envelope.src/
|
60
|
-
- html/classes/Eymiha/Envelope.src/
|
61
|
-
- html/classes/Eymiha/Envelope.src/
|
62
|
-
- html/classes/Eymiha/Envelope.src/
|
63
|
-
- html/classes/Eymiha/Envelope.src/
|
76
|
+
- html/classes/Eymiha/Envelope.src/M000044.html
|
77
|
+
- html/classes/Eymiha/Envelope.src/M000045.html
|
78
|
+
- html/classes/Eymiha/Envelope.src/M000046.html
|
79
|
+
- html/classes/Eymiha/Envelope.src/M000047.html
|
80
|
+
- html/classes/Eymiha/Envelope.src/M000048.html
|
81
|
+
- html/classes/Eymiha/Envelope.src/M000049.html
|
82
|
+
- html/classes/Eymiha/Envelope.src/M000051.html
|
64
83
|
- html/classes/Eymiha/EnvelopeException.html
|
65
84
|
- html/classes/Eymiha/ForwardReference.html
|
66
85
|
- html/classes/Eymiha/ForwardReference.src
|
67
|
-
- html/classes/Eymiha/ForwardReference.src/
|
68
|
-
- html/classes/Eymiha/ForwardReference.src/
|
86
|
+
- html/classes/Eymiha/ForwardReference.src/M000054.html
|
87
|
+
- html/classes/Eymiha/ForwardReference.src/M000055.html
|
69
88
|
- html/classes/Eymiha/ForwardReferencer.html
|
70
89
|
- html/classes/Eymiha/ForwardReferencing.html
|
71
90
|
- html/classes/Eymiha/ForwardReferencing.src
|
72
|
-
- html/classes/Eymiha/ForwardReferencing.src/M000001.html
|
73
|
-
- html/classes/Eymiha/ForwardReferencing.src/M000002.html
|
74
|
-
- html/classes/Eymiha/ForwardReferencing.src/M000003.html
|
75
|
-
- html/classes/Eymiha/ForwardReferencing.src/M000004.html
|
76
91
|
- html/classes/Eymiha/ForwardReferencing.src/M000005.html
|
77
92
|
- html/classes/Eymiha/ForwardReferencing.src/M000006.html
|
78
93
|
- html/classes/Eymiha/ForwardReferencing.src/M000007.html
|
79
94
|
- html/classes/Eymiha/ForwardReferencing.src/M000008.html
|
80
95
|
- html/classes/Eymiha/ForwardReferencing.src/M000009.html
|
96
|
+
- html/classes/Eymiha/ForwardReferencing.src/M000010.html
|
97
|
+
- html/classes/Eymiha/ForwardReferencing.src/M000011.html
|
98
|
+
- html/classes/Eymiha/ForwardReferencing.src/M000012.html
|
99
|
+
- html/classes/Eymiha/ForwardReferencing.src/M000013.html
|
81
100
|
- html/classes/Eymiha/Histogram.html
|
82
101
|
- html/classes/Eymiha/Histogram.src
|
83
|
-
- html/classes/Eymiha/Histogram.src/
|
84
|
-
- html/classes/Eymiha/Histogram.src/
|
85
|
-
- html/classes/Eymiha/Histogram.src/
|
86
|
-
- html/classes/Eymiha/Histogram.src/
|
87
|
-
- html/classes/Eymiha/Histogram.src/
|
88
|
-
- html/classes/Eymiha/Histogram.src/
|
89
|
-
- html/classes/Eymiha/Histogram.src/
|
90
|
-
- html/classes/Eymiha/Histogram.src/
|
91
|
-
- html/classes/Eymiha/Histogram.src/
|
102
|
+
- html/classes/Eymiha/Histogram.src/M000035.html
|
103
|
+
- html/classes/Eymiha/Histogram.src/M000036.html
|
104
|
+
- html/classes/Eymiha/Histogram.src/M000037.html
|
105
|
+
- html/classes/Eymiha/Histogram.src/M000038.html
|
106
|
+
- html/classes/Eymiha/Histogram.src/M000039.html
|
107
|
+
- html/classes/Eymiha/Histogram.src/M000040.html
|
108
|
+
- html/classes/Eymiha/Histogram.src/M000041.html
|
109
|
+
- html/classes/Eymiha/Histogram.src/M000042.html
|
110
|
+
- html/classes/Eymiha/Histogram.src/M000043.html
|
92
111
|
- html/classes/Eymiha/HistogramException.html
|
93
112
|
- html/classes/Eymiha/MethodicHash.html
|
94
113
|
- html/classes/Eymiha/MethodicHash.src
|
95
|
-
- html/classes/Eymiha/MethodicHash.src/
|
96
|
-
- html/classes/Eymiha/MethodicHash.src/
|
97
|
-
- html/classes/Eymiha/MethodicHash.src/
|
114
|
+
- html/classes/Eymiha/MethodicHash.src/M000026.html
|
115
|
+
- html/classes/Eymiha/MethodicHash.src/M000027.html
|
116
|
+
- html/classes/Eymiha/MethodicHash.src/M000028.html
|
117
|
+
- html/classes/Eymiha/StringMap.html
|
118
|
+
- html/classes/Eymiha/StringMap.src
|
119
|
+
- html/classes/Eymiha/StringMap.src/M000029.html
|
120
|
+
- html/classes/Eymiha/StringMap.src/M000030.html
|
121
|
+
- html/classes/Eymiha/StringMap.src/M000031.html
|
122
|
+
- html/classes/Eymiha/StringMapException.html
|
123
|
+
- html/classes/Eymiha/StringMapFormat.html
|
124
|
+
- html/classes/Eymiha/StringMapFormat.src
|
125
|
+
- html/classes/Eymiha/StringMapFormat.src/M000020.html
|
126
|
+
- html/classes/Eymiha/StringMapFormat.src/M000021.html
|
127
|
+
- html/classes/Eymiha/StringMapFormat.src/M000022.html
|
128
|
+
- html/classes/Eymiha/StringMapFormat.src/M000023.html
|
129
|
+
- html/classes/Eymiha/StringMapFormat.src/M000024.html
|
130
|
+
- html/classes/Eymiha/StringMapFormat.src/M000025.html
|
131
|
+
- html/classes/Eymiha/StringMapFormatItem.html
|
132
|
+
- html/classes/Eymiha/StringMapFormatItem.src
|
133
|
+
- html/classes/Eymiha/StringMapFormatItem.src/M000052.html
|
134
|
+
- html/classes/Eymiha/StringMapFormatItem.src/M000053.html
|
98
135
|
- html/classes/Eymiha.html
|
99
136
|
- html/created.rid
|
100
137
|
- html/files
|
101
138
|
- html/files/lib
|
102
139
|
- html/files/lib/eymiha
|
103
140
|
- html/files/lib/eymiha/util
|
141
|
+
- html/files/lib/eymiha/util/easylog_rb.html
|
104
142
|
- html/files/lib/eymiha/util/enum_rb.html
|
105
143
|
- html/files/lib/eymiha/util/envelope_rb.html
|
106
144
|
- html/files/lib/eymiha/util/forward_referencing_rb.html
|
107
145
|
- html/files/lib/eymiha/util/histogram_rb.html
|
108
146
|
- html/files/lib/eymiha/util/methodic_hash_rb.html
|
147
|
+
- html/files/lib/eymiha/util/string_map_rb.html
|
109
148
|
- html/files/lib/eymiha/util_rb.html
|
110
149
|
- html/fr_class_index.html
|
111
150
|
- html/fr_file_index.html
|