treequel 1.8.6 → 1.9.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.tar.gz.sig +0 -0
- data/ChangeLog +36 -1
- data/History.rdoc +6 -0
- data/Manifest.txt +0 -1
- data/README.rdoc +9 -7
- data/Rakefile +3 -0
- data/lib/treequel.rb +25 -55
- data/lib/treequel/branch.rb +6 -2
- data/lib/treequel/branchcollection.rb +10 -6
- data/lib/treequel/branchset.rb +4 -1
- data/lib/treequel/directory.rb +8 -4
- data/lib/treequel/filter.rb +36 -24
- data/lib/treequel/mixins.rb +5 -58
- data/lib/treequel/model.rb +7 -2
- data/lib/treequel/model/errors.rb +6 -2
- data/lib/treequel/schema.rb +5 -2
- data/lib/treequel/schema/attributetype.rb +7 -3
- data/lib/treequel/schema/ldapsyntax.rb +6 -3
- data/lib/treequel/schema/matchingrule.rb +6 -3
- data/lib/treequel/schema/matchingruleuse.rb +7 -3
- data/lib/treequel/schema/objectclass.rb +8 -3
- data/lib/treequel/schema/table.rb +6 -2
- data/spec/lib/helpers.rb +4 -91
- data/spec/treequel/directory_spec.rb +8 -21
- data/spec/treequel/mixins_spec.rb +4 -14
- data/spec/treequel_spec.rb +8 -52
- metadata +119 -40
- metadata.gz.sig +1 -1
- data/lib/treequel/utils.rb +0 -179
data/spec/treequel_spec.rb
CHANGED
@@ -37,10 +37,14 @@ describe Treequel do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it "should know if its default logger is replaced" do
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
begin
|
41
|
+
Treequel.reset_logger
|
42
|
+
Treequel.should be_using_default_logger
|
43
|
+
Treequel.logger = Logger.new( $stderr )
|
44
|
+
Treequel.should_not be_using_default_logger
|
45
|
+
ensure
|
46
|
+
Treequel.reset_logger
|
47
|
+
end
|
44
48
|
end
|
45
49
|
|
46
50
|
|
@@ -418,54 +422,6 @@ describe Treequel do
|
|
418
422
|
end
|
419
423
|
|
420
424
|
|
421
|
-
describe " logging subsystem" do
|
422
|
-
before(:each) do
|
423
|
-
Treequel.reset_logger
|
424
|
-
end
|
425
|
-
|
426
|
-
after(:each) do
|
427
|
-
Treequel.reset_logger
|
428
|
-
end
|
429
|
-
|
430
|
-
|
431
|
-
it "has the default logger instance after being reset" do
|
432
|
-
Treequel.logger.should equal( Treequel.default_logger )
|
433
|
-
end
|
434
|
-
|
435
|
-
it "has the default log formatter instance after being reset" do
|
436
|
-
Treequel.logger.formatter.should equal( Treequel.default_log_formatter )
|
437
|
-
end
|
438
|
-
|
439
|
-
end
|
440
|
-
|
441
|
-
|
442
|
-
describe " logging subsystem with new defaults" do
|
443
|
-
before( :all ) do
|
444
|
-
@original_logger = Treequel.default_logger
|
445
|
-
@original_log_formatter = Treequel.default_log_formatter
|
446
|
-
end
|
447
|
-
|
448
|
-
after( :all ) do
|
449
|
-
Treequel.default_logger = @original_logger
|
450
|
-
Treequel.default_log_formatter = @original_log_formatter
|
451
|
-
end
|
452
|
-
|
453
|
-
|
454
|
-
it "uses the new defaults when the logging subsystem is reset" do
|
455
|
-
logger = double( "dummy logger" ).as_null_object
|
456
|
-
formatter = mock( "dummy logger" )
|
457
|
-
|
458
|
-
Treequel.default_logger = logger
|
459
|
-
Treequel.default_log_formatter = formatter
|
460
|
-
|
461
|
-
logger.should_receive( :formatter= ).with( formatter )
|
462
|
-
|
463
|
-
Treequel.reset_logger
|
464
|
-
Treequel.logger.should equal( logger )
|
465
|
-
end
|
466
|
-
|
467
|
-
end
|
468
|
-
|
469
425
|
end
|
470
426
|
|
471
427
|
# vim: set nosta noet ts=4 sw=4:
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: treequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -37,11 +37,11 @@ cert_chain:
|
|
37
37
|
YUhDS0xaZFNLai9SSHVUT3QrZ2JsUmV4OEZBaDhOZUEKY21saFhlNDZwWk5K
|
38
38
|
Z1dLYnhaYWg4NWpJang5NWhSOHZPSStOQU01aUg5a09xSzEzRHJ4YWNUS1Bo
|
39
39
|
cWo1UGp3RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
40
|
-
date: 2012-
|
40
|
+
date: 2012-06-07 00:00:00.000000000 Z
|
41
41
|
dependencies:
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: ruby-ldap
|
44
|
-
requirement:
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
45
|
none: false
|
46
46
|
requirements:
|
47
47
|
- - ~>
|
@@ -49,32 +49,79 @@ dependencies:
|
|
49
49
|
version: '0.9'
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
|
-
version_requirements:
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ~>
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0.9'
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: loggability
|
60
|
+
requirement: !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0.4'
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
70
|
+
requirements:
|
71
|
+
- - ~>
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0.4'
|
53
74
|
- !ruby/object:Gem::Dependency
|
54
75
|
name: hoe-mercurial
|
55
|
-
requirement:
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
56
77
|
none: false
|
57
78
|
requirements:
|
58
79
|
- - ~>
|
59
80
|
- !ruby/object:Gem::Version
|
60
|
-
version: 1.
|
81
|
+
version: 1.4.0
|
61
82
|
type: :development
|
62
83
|
prerelease: false
|
63
|
-
version_requirements:
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.4.0
|
64
90
|
- !ruby/object:Gem::Dependency
|
65
91
|
name: hoe-highline
|
66
|
-
requirement:
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ~>
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.1.0
|
98
|
+
type: :development
|
99
|
+
prerelease: false
|
100
|
+
version_requirements: !ruby/object:Gem::Requirement
|
101
|
+
none: false
|
102
|
+
requirements:
|
103
|
+
- - ~>
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 0.1.0
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: rdoc
|
108
|
+
requirement: !ruby/object:Gem::Requirement
|
67
109
|
none: false
|
68
110
|
requirements:
|
69
111
|
- - ~>
|
70
112
|
- !ruby/object:Gem::Version
|
71
|
-
version:
|
113
|
+
version: '3.10'
|
72
114
|
type: :development
|
73
115
|
prerelease: false
|
74
|
-
version_requirements:
|
116
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
118
|
+
requirements:
|
119
|
+
- - ~>
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '3.10'
|
75
122
|
- !ruby/object:Gem::Dependency
|
76
123
|
name: rspec
|
77
|
-
requirement:
|
124
|
+
requirement: !ruby/object:Gem::Requirement
|
78
125
|
none: false
|
79
126
|
requirements:
|
80
127
|
- - ~>
|
@@ -82,10 +129,15 @@ dependencies:
|
|
82
129
|
version: '2.8'
|
83
130
|
type: :development
|
84
131
|
prerelease: false
|
85
|
-
version_requirements:
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
134
|
+
requirements:
|
135
|
+
- - ~>
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '2.8'
|
86
138
|
- !ruby/object:Gem::Dependency
|
87
139
|
name: ruby-termios
|
88
|
-
requirement:
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
89
141
|
none: false
|
90
142
|
requirements:
|
91
143
|
- - ~>
|
@@ -93,10 +145,15 @@ dependencies:
|
|
93
145
|
version: '0.9'
|
94
146
|
type: :development
|
95
147
|
prerelease: false
|
96
|
-
version_requirements:
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
150
|
+
requirements:
|
151
|
+
- - ~>
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0.9'
|
97
154
|
- !ruby/object:Gem::Dependency
|
98
155
|
name: ruby-terminfo
|
99
|
-
requirement:
|
156
|
+
requirement: !ruby/object:Gem::Requirement
|
100
157
|
none: false
|
101
158
|
requirements:
|
102
159
|
- - ~>
|
@@ -104,10 +161,15 @@ dependencies:
|
|
104
161
|
version: '0.1'
|
105
162
|
type: :development
|
106
163
|
prerelease: false
|
107
|
-
version_requirements:
|
164
|
+
version_requirements: !ruby/object:Gem::Requirement
|
165
|
+
none: false
|
166
|
+
requirements:
|
167
|
+
- - ~>
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: '0.1'
|
108
170
|
- !ruby/object:Gem::Dependency
|
109
171
|
name: columnize
|
110
|
-
requirement:
|
172
|
+
requirement: !ruby/object:Gem::Requirement
|
111
173
|
none: false
|
112
174
|
requirements:
|
113
175
|
- - ~>
|
@@ -115,10 +177,15 @@ dependencies:
|
|
115
177
|
version: '0.3'
|
116
178
|
type: :development
|
117
179
|
prerelease: false
|
118
|
-
version_requirements:
|
180
|
+
version_requirements: !ruby/object:Gem::Requirement
|
181
|
+
none: false
|
182
|
+
requirements:
|
183
|
+
- - ~>
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0.3'
|
119
186
|
- !ruby/object:Gem::Dependency
|
120
187
|
name: sysexits
|
121
|
-
requirement:
|
188
|
+
requirement: !ruby/object:Gem::Requirement
|
122
189
|
none: false
|
123
190
|
requirements:
|
124
191
|
- - ~>
|
@@ -126,10 +193,15 @@ dependencies:
|
|
126
193
|
version: '1.0'
|
127
194
|
type: :development
|
128
195
|
prerelease: false
|
129
|
-
version_requirements:
|
196
|
+
version_requirements: !ruby/object:Gem::Requirement
|
197
|
+
none: false
|
198
|
+
requirements:
|
199
|
+
- - ~>
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '1.0'
|
130
202
|
- !ruby/object:Gem::Dependency
|
131
203
|
name: sequel
|
132
|
-
requirement:
|
204
|
+
requirement: !ruby/object:Gem::Requirement
|
133
205
|
none: false
|
134
206
|
requirements:
|
135
207
|
- - ~>
|
@@ -137,33 +209,39 @@ dependencies:
|
|
137
209
|
version: '3.20'
|
138
210
|
type: :development
|
139
211
|
prerelease: false
|
140
|
-
version_requirements:
|
141
|
-
- !ruby/object:Gem::Dependency
|
142
|
-
name: rdoc
|
143
|
-
requirement: &70318636172020 !ruby/object:Gem::Requirement
|
212
|
+
version_requirements: !ruby/object:Gem::Requirement
|
144
213
|
none: false
|
145
214
|
requirements:
|
146
215
|
- - ~>
|
147
216
|
- !ruby/object:Gem::Version
|
148
|
-
version: '3.
|
149
|
-
type: :development
|
150
|
-
prerelease: false
|
151
|
-
version_requirements: *70318636172020
|
217
|
+
version: '3.20'
|
152
218
|
- !ruby/object:Gem::Dependency
|
153
219
|
name: hoe
|
154
|
-
requirement:
|
220
|
+
requirement: !ruby/object:Gem::Requirement
|
155
221
|
none: false
|
156
222
|
requirements:
|
157
223
|
- - ~>
|
158
224
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
225
|
+
version: '3.0'
|
160
226
|
type: :development
|
161
227
|
prerelease: false
|
162
|
-
version_requirements:
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
228
|
+
version_requirements: !ruby/object:Gem::Requirement
|
229
|
+
none: false
|
230
|
+
requirements:
|
231
|
+
- - ~>
|
232
|
+
- !ruby/object:Gem::Version
|
233
|
+
version: '3.0'
|
234
|
+
description: ! 'Treequel is an LDAP toolkit for Ruby. It is intended to allow quick,
|
235
|
+
easy
|
236
|
+
|
237
|
+
access to LDAP directories in a manner consistent with LDAP''s hierarchical,
|
238
|
+
|
239
|
+
free-form nature.
|
240
|
+
|
241
|
+
|
242
|
+
It''s inspired by and modeled after {Sequel}[http://sequel.rubyforge.org/], a
|
243
|
+
|
244
|
+
kick-ass database library.'
|
167
245
|
email:
|
168
246
|
- ged@FaerieMUD.org
|
169
247
|
- mahlon@martini.nu
|
@@ -218,7 +296,6 @@ files:
|
|
218
296
|
- lib/treequel/schema/objectclass.rb
|
219
297
|
- lib/treequel/schema/table.rb
|
220
298
|
- lib/treequel/sequel_integration.rb
|
221
|
-
- lib/treequel/utils.rb
|
222
299
|
- spec/data/ad_schema.yml
|
223
300
|
- spec/data/objectClasses.yml
|
224
301
|
- spec/data/opends.yml
|
@@ -258,8 +335,10 @@ post_install_message: ! "If you want to use the included 'treequel' LDAP shell,
|
|
258
335
|
\ - columnize\n - sysexits\n\nYou can install them automatically if you use
|
259
336
|
the --development flag when\ninstalling Treequel."
|
260
337
|
rdoc_options:
|
261
|
-
-
|
262
|
-
-
|
338
|
+
- -f
|
339
|
+
- fivefish
|
340
|
+
- -t
|
341
|
+
- Treequel
|
263
342
|
require_paths:
|
264
343
|
- lib
|
265
344
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -276,7 +355,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
276
355
|
version: '0'
|
277
356
|
requirements: []
|
278
357
|
rubyforge_project: treequel
|
279
|
-
rubygems_version: 1.8.
|
358
|
+
rubygems_version: 1.8.24
|
280
359
|
signing_key:
|
281
360
|
specification_version: 3
|
282
361
|
summary: Treequel is an LDAP toolkit for Ruby
|
metadata.gz.sig
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
1�lɜ��!.���#8�{����-"U�� :��qI��u�����}E�t������ѯZo��#��#�GA��OE� :�:�s��� �Q�UV�Z��~�yh=D~8��,��t��U8^qn�?+���LR#|R�Ӽ5jqr ?E�#r����$ͦ-0(~�Wa]}�TL=�r��S���V $6Ap2Em�2�,��6�L�g�v�
|
data/lib/treequel/utils.rb
DELETED
@@ -1,179 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby
|
2
|
-
|
3
|
-
require 'logger'
|
4
|
-
require 'erb'
|
5
|
-
require 'bigdecimal'
|
6
|
-
require 'date'
|
7
|
-
|
8
|
-
require 'treequel'
|
9
|
-
require 'treequel/mixins'
|
10
|
-
|
11
|
-
|
12
|
-
module Treequel
|
13
|
-
|
14
|
-
# A alternate formatter for Logger instances.
|
15
|
-
class LogFormatter < Logger::Formatter
|
16
|
-
|
17
|
-
# The format to output unless debugging is turned on
|
18
|
-
DEFAULT_FORMAT = "[%1$s.%2$06d %3$d/%4$s] %5$5s -- %7$s\n"
|
19
|
-
|
20
|
-
# The format to output if debugging is turned on
|
21
|
-
DEFAULT_DEBUG_FORMAT = "[%1$s.%2$06d %3$d/%4$s] %5$5s {%6$s} -- %7$s\n"
|
22
|
-
|
23
|
-
|
24
|
-
### Initialize the formatter with a reference to the logger so it can check for log level.
|
25
|
-
def initialize( logger, format=DEFAULT_FORMAT, debug=DEFAULT_DEBUG_FORMAT ) # :notnew:
|
26
|
-
@logger = logger
|
27
|
-
@format = format
|
28
|
-
@debug_format = debug
|
29
|
-
|
30
|
-
super()
|
31
|
-
end
|
32
|
-
|
33
|
-
######
|
34
|
-
public
|
35
|
-
######
|
36
|
-
|
37
|
-
# The Logger object associated with the formatter
|
38
|
-
attr_accessor :logger
|
39
|
-
|
40
|
-
# The logging format string
|
41
|
-
attr_accessor :format
|
42
|
-
|
43
|
-
# The logging format string that's used when outputting in debug mode
|
44
|
-
attr_accessor :debug_format
|
45
|
-
|
46
|
-
|
47
|
-
### Log using either the DEBUG_FORMAT if the associated logger is at ::DEBUG level or
|
48
|
-
### using FORMAT if it's anything less verbose.
|
49
|
-
def call( severity, time, progname, msg )
|
50
|
-
args = [
|
51
|
-
time.strftime( '%Y-%m-%d %H:%M:%S' ), # %1$s
|
52
|
-
time.usec, # %2$d
|
53
|
-
Process.pid, # %3$d
|
54
|
-
Thread.current == Thread.main ? 'main' : Thread.object_id, # %4$s
|
55
|
-
severity, # %5$s
|
56
|
-
progname, # %6$s
|
57
|
-
msg # %7$s
|
58
|
-
]
|
59
|
-
|
60
|
-
if @logger.level == Logger::DEBUG
|
61
|
-
return self.debug_format % args
|
62
|
-
else
|
63
|
-
return self.format % args
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end # class LogFormatter
|
67
|
-
|
68
|
-
|
69
|
-
# A ANSI-colorized formatter for Logger instances.
|
70
|
-
class ColorLogFormatter < Logger::Formatter
|
71
|
-
extend Treequel::ANSIColorUtilities
|
72
|
-
|
73
|
-
# Color settings
|
74
|
-
LEVEL_FORMATS = {
|
75
|
-
:debug => colorize( :bold, :black ) {"[%1$s.%2$06d %3$d/%4$s] %5$5s {%6$s} -- %7$s\n"},
|
76
|
-
:info => colorize( :normal ) {"[%1$s.%2$06d %3$d/%4$s] %5$5s -- %7$s\n"},
|
77
|
-
:warn => colorize( :bold, :yellow ) {"[%1$s.%2$06d %3$d/%4$s] %5$5s -- %7$s\n"},
|
78
|
-
:error => colorize( :red ) {"[%1$s.%2$06d %3$d/%4$s] %5$5s -- %7$s\n"},
|
79
|
-
:fatal => colorize( :bold, :red, :on_white ) {"[%1$s.%2$06d %3$d/%4$s] %5$5s -- %7$s\n"},
|
80
|
-
}
|
81
|
-
|
82
|
-
|
83
|
-
### Initialize the formatter with a reference to the logger so it can check for log level.
|
84
|
-
def initialize( logger, settings={} ) # :notnew:
|
85
|
-
settings = LEVEL_FORMATS.merge( settings )
|
86
|
-
|
87
|
-
@logger = logger
|
88
|
-
@settings = settings
|
89
|
-
|
90
|
-
super()
|
91
|
-
end
|
92
|
-
|
93
|
-
######
|
94
|
-
public
|
95
|
-
######
|
96
|
-
|
97
|
-
# The Logger object associated with the formatter
|
98
|
-
attr_accessor :logger
|
99
|
-
|
100
|
-
# The formats, by level
|
101
|
-
attr_accessor :settings
|
102
|
-
|
103
|
-
|
104
|
-
### Log using the format associated with the severity
|
105
|
-
def call( severity, time, progname, msg )
|
106
|
-
args = [
|
107
|
-
time.strftime( '%Y-%m-%d %H:%M:%S' ), # %1$s
|
108
|
-
time.usec, # %2$d
|
109
|
-
Process.pid, # %3$d
|
110
|
-
Thread.current == Thread.main ? 'main' : Thread.object_id, # %4$s
|
111
|
-
severity, # %5$s
|
112
|
-
progname, # %6$s
|
113
|
-
msg # %7$s
|
114
|
-
]
|
115
|
-
|
116
|
-
return self.settings[ severity.downcase.to_sym ] % args
|
117
|
-
end
|
118
|
-
end # class LogFormatter
|
119
|
-
|
120
|
-
|
121
|
-
# An alternate formatter for Logger instances that outputs +div+ HTML
|
122
|
-
# fragments.
|
123
|
-
class HtmlLogFormatter < Logger::Formatter
|
124
|
-
include ERB::Util # for html_escape()
|
125
|
-
|
126
|
-
# The default HTML fragment that'll be used as the template for each log message.
|
127
|
-
HTML_LOG_FORMAT = %q{
|
128
|
-
<div class="log-message %5$s">
|
129
|
-
<span class="log-time">%1$s.%2$06d</span>
|
130
|
-
[
|
131
|
-
<span class="log-pid">%3$d</span>
|
132
|
-
/
|
133
|
-
<span class="log-tid">%4$s</span>
|
134
|
-
]
|
135
|
-
<span class="log-level">%5$s</span>
|
136
|
-
:
|
137
|
-
<span class="log-name">%6$s</span>
|
138
|
-
<span class="log-message-text">%7$s</span>
|
139
|
-
</div>
|
140
|
-
}
|
141
|
-
|
142
|
-
### Override the logging formats with ones that generate HTML fragments
|
143
|
-
def initialize( logger, format=HTML_LOG_FORMAT ) # :notnew:
|
144
|
-
@logger = logger
|
145
|
-
@format = format
|
146
|
-
super()
|
147
|
-
end
|
148
|
-
|
149
|
-
|
150
|
-
######
|
151
|
-
public
|
152
|
-
######
|
153
|
-
|
154
|
-
# The HTML fragment that will be used as a format() string for the log
|
155
|
-
attr_accessor :format
|
156
|
-
|
157
|
-
|
158
|
-
### Return a log message composed out of the arguments formatted using the
|
159
|
-
### formatter's format string
|
160
|
-
def call( severity, time, progname, msg )
|
161
|
-
args = [
|
162
|
-
time.strftime( '%Y-%m-%d %H:%M:%S' ), # %1$s
|
163
|
-
time.usec, # %2$d
|
164
|
-
Process.pid, # %3$d
|
165
|
-
Thread.current == Thread.main ? 'main' : Thread.object_id, # %4$s
|
166
|
-
severity.downcase, # %5$s
|
167
|
-
progname, # %6$s
|
168
|
-
html_escape( msg ).gsub(/\n/, '<br />') # %7$s
|
169
|
-
]
|
170
|
-
|
171
|
-
return self.format % args
|
172
|
-
end
|
173
|
-
|
174
|
-
end # class HtmlLogFormatter
|
175
|
-
|
176
|
-
end # module Treequel
|
177
|
-
|
178
|
-
# vim: set nosta noet ts=4 sw=4:
|
179
|
-
|