loggability 0.10.1 → 0.11.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.rdoc +9 -0
- data/Rakefile +14 -0
- data/lib/loggability.rb +2 -2
- data/lib/loggability/logger.rb +6 -0
- data/lib/loggability/loghost.rb +7 -0
- data/spec/helpers.rb +0 -1
- data/spec/loggability/formatter/color_spec.rb +6 -5
- data/spec/loggability/formatter/html_spec.rb +12 -9
- data/spec/loggability/logger_spec.rb +80 -80
- data/spec/loggability/override_spec.rb +1 -1
- metadata +14 -14
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee8126c166b726262392de76f6c86784ddd8e0c3
|
4
|
+
data.tar.gz: 929fbd59dab8020f0baad40185a849d776e29dd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfcb674cbd0a108ab7508382a7a238a78f80c675d5ae4aae9cbad7ea8b31cc3d40b98536b7dabb23a8b37e73006721091de163e1dc680bb859482ee8ab5bca18
|
7
|
+
data.tar.gz: 140afe380f310616e4c1e0e0ec357d9f520bc381f4885c9db58cc9abae56ddeba8f6e63bf54c25509f19ac072b5114a5a299346b523ed05ae3cc3665ef31f655
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
== v0.11.0 [2014-04-02] Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
Fix a bug when a log host is subclassed.
|
4
|
+
|
5
|
+
- Inheriting a log host now registers the subclass as its own log host.
|
6
|
+
- Add a gemspec-building task.
|
7
|
+
- Eliminated the last vestiges of deprecated RSpec syntax.
|
8
|
+
|
9
|
+
|
1
10
|
== v0.10.1 [2014-03-24] Michael Granger <ged@FaerieMUD.org>
|
2
11
|
|
3
12
|
Bugfix: Raise an exception when something attempts to use a non-existant
|
data/Rakefile
CHANGED
@@ -8,6 +8,8 @@ rescue LoadError
|
|
8
8
|
abort "This Rakefile requires 'hoe' (gem install hoe)"
|
9
9
|
end
|
10
10
|
|
11
|
+
GEMSPEC = 'loggability.gemspec'
|
12
|
+
|
11
13
|
Hoe.plugin :mercurial
|
12
14
|
Hoe.plugin :signing
|
13
15
|
Hoe.plugin :deveiate
|
@@ -60,3 +62,15 @@ if File.directory?( '.hg' )
|
|
60
62
|
end
|
61
63
|
end
|
62
64
|
|
65
|
+
task :gemspec => GEMSPEC
|
66
|
+
file GEMSPEC => __FILE__ do |task|
|
67
|
+
spec = $hoespec.spec
|
68
|
+
spec.files.delete( '.gemtest' )
|
69
|
+
spec.version = "#{spec.version}.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
|
70
|
+
File.open( task.name, 'w' ) do |fh|
|
71
|
+
fh.write( spec.to_ruby )
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
task :default => :gemspec
|
76
|
+
|
data/lib/loggability.rb
CHANGED
@@ -9,10 +9,10 @@ require 'date'
|
|
9
9
|
module Loggability
|
10
10
|
|
11
11
|
# Package version constant
|
12
|
-
VERSION = '0.
|
12
|
+
VERSION = '0.11.0'
|
13
13
|
|
14
14
|
# VCS revision
|
15
|
-
REVISION = %q$Revision:
|
15
|
+
REVISION = %q$Revision: fa08d10cb3b6 $
|
16
16
|
|
17
17
|
# The key for the global logger (Loggability's own logger)
|
18
18
|
GLOBAL_KEY = :__global__
|
data/lib/loggability/logger.rb
CHANGED
@@ -150,6 +150,7 @@ class Loggability::Logger < ::Logger
|
|
150
150
|
self.level = if $DEBUG then :debug else :warn end
|
151
151
|
self.output_to( logdev, *args )
|
152
152
|
|
153
|
+
@created_from = caller( 3 ).first
|
153
154
|
@default_formatter = Loggability::Formatter.create( :default )
|
154
155
|
end
|
155
156
|
|
@@ -158,6 +159,11 @@ class Loggability::Logger < ::Logger
|
|
158
159
|
public
|
159
160
|
######
|
160
161
|
|
162
|
+
##
|
163
|
+
# The line that caused this logger to be created.
|
164
|
+
attr_reader :created_from
|
165
|
+
|
166
|
+
|
161
167
|
### Return a human-readable representation of the object suitable for debugging.
|
162
168
|
def inspect
|
163
169
|
dev = if self.logdev.respond_to?( :dev )
|
data/lib/loggability/loghost.rb
CHANGED
@@ -35,6 +35,13 @@ module Loggability::LogHost
|
|
35
35
|
end
|
36
36
|
alias_method :log=, :logger=
|
37
37
|
|
38
|
+
|
39
|
+
### Register subclasses of log hosts as their own log hosts.
|
40
|
+
def inherited( subclass )
|
41
|
+
super
|
42
|
+
Loggability.register_loghost( subclass )
|
43
|
+
end
|
44
|
+
|
38
45
|
end # module Loggability::LogHost
|
39
46
|
|
40
47
|
|
data/spec/helpers.rb
CHANGED
@@ -22,13 +22,14 @@ describe Loggability::Formatter::Color do
|
|
22
22
|
ENV['TERM'] = @original_term
|
23
23
|
end
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
|
26
|
+
let( :formatter ) { described_class.new }
|
27
|
+
|
28
28
|
|
29
29
|
it "formats messages with ANSI color" do
|
30
|
-
|
31
|
-
|
30
|
+
expect(
|
31
|
+
formatter.call( 'INFO', Time.at(1336286481), nil, "Foom." )
|
32
|
+
).to include( "-- \e[37mFoom.\e[0m\n" )
|
32
33
|
end
|
33
34
|
|
34
35
|
end
|
@@ -16,8 +16,9 @@ describe Loggability::Formatter::HTML do
|
|
16
16
|
subject { described_class.new }
|
17
17
|
|
18
18
|
it "formats messages as HTML" do
|
19
|
-
|
20
|
-
|
19
|
+
expect(
|
20
|
+
subject.call( 'INFO', Time.at(1336286481), nil, "Foom." )
|
21
|
+
).to match( %r{<span class="log-message-text">Foom.</span>}i )
|
21
22
|
end
|
22
23
|
|
23
24
|
it "formats exceptions into useful messages" do
|
@@ -29,20 +30,22 @@ describe Loggability::Formatter::HTML do
|
|
29
30
|
msg = subject.call( 'INFO', Time.at(1336286481), nil, err )
|
30
31
|
end
|
31
32
|
|
32
|
-
msg.
|
33
|
-
msg.
|
34
|
-
msg.
|
33
|
+
expect( msg ).to match( %r{<span class=\"log-exc\">ArgumentError</span>}i )
|
34
|
+
expect( msg ).to match( %r{<span class=\"log-exc-message\">invalid argument</span>}i )
|
35
|
+
expect( msg ).to match( %r{ from <span class=\"log-exc-firstframe\">}i )
|
35
36
|
end
|
36
37
|
|
37
38
|
it "formats regular objects into useful messages" do
|
38
|
-
|
39
|
-
|
39
|
+
expect(
|
40
|
+
subject.call( 'INFO', Time.at(1336286481), nil, Object.new )
|
41
|
+
).to match( %r{<span class=\"log-message-text\">#<Object:0x[[:xdigit:]]+></span>} )
|
40
42
|
end
|
41
43
|
|
42
44
|
it "escapes the 'progname' part of log messages" do
|
43
45
|
progname = "#<Class:0x007f9efa153d08>:0x7f9efa153c18"
|
44
|
-
|
45
|
-
|
46
|
+
expect(
|
47
|
+
subject.call( 'DEBUG', Time.at(1336286481), progname, Object.new )
|
48
|
+
).to match( %r{#<Class:0x0} )
|
46
49
|
end
|
47
50
|
|
48
51
|
end
|
@@ -22,31 +22,29 @@ describe Loggability::Logger do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
|
25
|
-
|
26
|
-
@logger = described_class.new
|
27
|
-
end
|
25
|
+
let( :logger ) { described_class.new }
|
28
26
|
|
29
27
|
|
30
28
|
it "has a less-verbose inspection format than that of its parent" do
|
31
|
-
expect(
|
29
|
+
expect( logger.inspect ).to match( /severity: \S+ formatter: \S+ outputting to: \S+/ )
|
32
30
|
end
|
33
31
|
|
34
32
|
|
35
33
|
it "provides an upgrade constructor for regular Logger objects" do
|
36
|
-
|
37
|
-
newlogger = described_class.from_std_logger(
|
34
|
+
regular_logger = ::Logger.new( $stderr )
|
35
|
+
newlogger = described_class.from_std_logger( regular_logger )
|
38
36
|
expect( newlogger ).to be_a( Loggability::Logger )
|
39
|
-
expect( newlogger.logdev.dev ).to be(
|
40
|
-
expect( Loggability::LOG_LEVELS[newlogger.level] ).to eq(
|
37
|
+
expect( newlogger.logdev.dev ).to be( regular_logger.instance_variable_get(:@logdev).dev )
|
38
|
+
expect( Loggability::LOG_LEVELS[newlogger.level] ).to eq( regular_logger.level )
|
41
39
|
expect( newlogger.formatter ).to be_a( Loggability::Formatter::Default )
|
42
40
|
end
|
43
41
|
|
44
42
|
|
45
43
|
it "writes to itself at :debug level if appended to" do
|
46
44
|
results = []
|
47
|
-
|
48
|
-
|
49
|
-
|
45
|
+
logger.level = :debug
|
46
|
+
logger.output_to( results )
|
47
|
+
logger << "This is an appended message."
|
50
48
|
|
51
49
|
expect( results.first ).to match( /debug.*this is an appended message/i )
|
52
50
|
end
|
@@ -54,58 +52,58 @@ describe Loggability::Logger do
|
|
54
52
|
|
55
53
|
it "supports #write so it can be used with Rack::CommonLogger" do
|
56
54
|
results = []
|
57
|
-
|
58
|
-
|
59
|
-
|
55
|
+
logger.level = :debug
|
56
|
+
logger.output_to( results )
|
57
|
+
logger.write( "This is a written message." )
|
60
58
|
|
61
59
|
expect( results.first ).to match( /info.*this is a written message/i )
|
62
60
|
end
|
63
61
|
|
64
62
|
|
65
63
|
it "can return a Hash of its current settings" do
|
66
|
-
expect(
|
67
|
-
expect(
|
68
|
-
expect(
|
69
|
-
expect(
|
70
|
-
expect(
|
64
|
+
expect( logger.settings ).to be_a( Hash )
|
65
|
+
expect( logger.settings ).to include( :level, :formatter, :logdev )
|
66
|
+
expect( logger.settings[:level] ).to eq( logger.level )
|
67
|
+
expect( logger.settings[:formatter] ).to eq( logger.formatter )
|
68
|
+
expect( logger.settings[:logdev] ).to eq( logger.logdev )
|
71
69
|
end
|
72
70
|
|
73
71
|
|
74
72
|
it "can restore its settings from a Hash" do
|
75
|
-
settings =
|
73
|
+
settings = logger.settings
|
76
74
|
|
77
|
-
|
78
|
-
|
79
|
-
|
75
|
+
logger.level = :fatal
|
76
|
+
logger.formatter = Loggability::Formatter.create( :html )
|
77
|
+
logger.output_to( [] )
|
80
78
|
|
81
|
-
|
79
|
+
logger.restore_settings( settings )
|
82
80
|
|
83
|
-
expect(
|
84
|
-
expect(
|
85
|
-
expect(
|
81
|
+
expect( logger.level ).to be( settings[:level] )
|
82
|
+
expect( logger.formatter ).to be( settings[:formatter] )
|
83
|
+
expect( logger.logdev ).to be( settings[:logdev] )
|
86
84
|
end
|
87
85
|
|
88
86
|
|
89
87
|
it "ignores missing keys when restoring its settings from a Hash" do
|
90
|
-
settings =
|
88
|
+
settings = logger.settings
|
91
89
|
settings.delete( :level )
|
92
90
|
|
93
|
-
|
94
|
-
|
95
|
-
|
91
|
+
logger.level = :fatal
|
92
|
+
logger.formatter = Loggability::Formatter.create( :html )
|
93
|
+
logger.output_to( [] )
|
96
94
|
|
97
|
-
|
95
|
+
logger.restore_settings( settings )
|
98
96
|
|
99
|
-
expect(
|
100
|
-
expect(
|
101
|
-
expect(
|
97
|
+
expect( logger.level ).to be( :fatal )
|
98
|
+
expect( logger.formatter ).to be( settings[:formatter] )
|
99
|
+
expect( logger.logdev ).to be( settings[:logdev] )
|
102
100
|
end
|
103
101
|
|
104
102
|
|
105
103
|
describe "severity level API" do
|
106
104
|
|
107
105
|
it "defaults to :warn level" do
|
108
|
-
expect(
|
106
|
+
expect( logger.level ).to eq( :warn )
|
109
107
|
end
|
110
108
|
|
111
109
|
it "defaults to :debug level when $DEBUG is true" do
|
@@ -120,18 +118,18 @@ describe Loggability::Logger do
|
|
120
118
|
it "allows its levels to be set with integers like Logger" do
|
121
119
|
newlevel = Logger::DEBUG
|
122
120
|
$stderr.puts "Setting newlevel to %p" % [ newlevel ]
|
123
|
-
|
124
|
-
expect(
|
121
|
+
logger.level = newlevel
|
122
|
+
expect( logger.level ).to eq( :debug )
|
125
123
|
end
|
126
124
|
|
127
125
|
it "allows its levels to be set with Symbolic level names" do
|
128
|
-
|
129
|
-
expect(
|
126
|
+
logger.level = :info
|
127
|
+
expect( logger.level ).to eq( :info )
|
130
128
|
end
|
131
129
|
|
132
130
|
it "allows its levels to be set with Stringish level names" do
|
133
|
-
|
134
|
-
expect(
|
131
|
+
logger.level = 'fatal'
|
132
|
+
expect( logger.level ).to eq( :fatal )
|
135
133
|
end
|
136
134
|
|
137
135
|
end
|
@@ -140,50 +138,50 @@ describe Loggability::Logger do
|
|
140
138
|
describe "log device API" do
|
141
139
|
|
142
140
|
it "logs to STDERR by default" do
|
143
|
-
expect(
|
141
|
+
expect( logger.logdev.dev ).to be( $stderr )
|
144
142
|
end
|
145
143
|
|
146
144
|
it "can be told to log to a file" do
|
147
145
|
tmpfile = Tempfile.new( 'loggability-device-spec' )
|
148
|
-
|
149
|
-
expect(
|
146
|
+
logger.output_to( tmpfile.path )
|
147
|
+
expect( logger.logdev.dev ).to be_a( File )
|
150
148
|
end
|
151
149
|
|
152
150
|
it "supports log-rotation arguments for logfiles" do
|
153
151
|
tmpfile = Tempfile.new( 'loggability-device-spec' )
|
154
|
-
|
155
|
-
expect(
|
156
|
-
expect(
|
157
|
-
expect(
|
158
|
-
expect(
|
152
|
+
logger.output_to( tmpfile.path, 5, 125000 )
|
153
|
+
expect( logger.logdev.dev ).to be_a( File )
|
154
|
+
expect( logger.logdev.filename ).to eq( tmpfile.path )
|
155
|
+
expect( logger.logdev.instance_variable_get(:@shift_age) ).to eq( 5 )
|
156
|
+
expect( logger.logdev.instance_variable_get(:@shift_size) ).to eq( 125000 )
|
159
157
|
end
|
160
158
|
|
161
159
|
it "can be told to log to an Array" do
|
162
160
|
logmessages = []
|
163
|
-
|
164
|
-
expect(
|
165
|
-
|
166
|
-
|
161
|
+
logger.output_to( logmessages )
|
162
|
+
expect( logger.logdev ).to be_a( Loggability::Logger::AppendingLogDevice )
|
163
|
+
logger.level = :debug
|
164
|
+
logger.info( "Something happened." )
|
167
165
|
expect( logmessages.size ).to eq( 1 )
|
168
166
|
expect( logmessages.first ).to match( /something happened/i )
|
169
167
|
end
|
170
168
|
|
171
169
|
it "doesn't re-wrap a Logger::LogDevice" do
|
172
170
|
tmpfile = Tempfile.new( 'loggability-device-spec' )
|
173
|
-
|
171
|
+
logger.output_to( tmpfile.path, 5, 125000 )
|
174
172
|
|
175
|
-
original_logdev =
|
176
|
-
|
173
|
+
original_logdev = logger.logdev
|
174
|
+
logger.output_to( original_logdev )
|
177
175
|
|
178
|
-
expect(
|
176
|
+
expect( logger.logdev ).to be( original_logdev )
|
179
177
|
end
|
180
178
|
|
181
179
|
it "doesn't re-wrap an AppendingLogDevice" do
|
182
180
|
log_array = []
|
183
|
-
|
184
|
-
|
181
|
+
logger.output_to( log_array )
|
182
|
+
logger.output_to( logger.logdev )
|
185
183
|
|
186
|
-
expect(
|
184
|
+
expect( logger.logdev.target ).to be( log_array )
|
187
185
|
end
|
188
186
|
|
189
187
|
end
|
@@ -192,36 +190,36 @@ describe Loggability::Logger do
|
|
192
190
|
describe "formatter API" do
|
193
191
|
|
194
192
|
it "logs with the default formatter by default" do
|
195
|
-
expect(
|
193
|
+
expect( logger.formatter ).to be_a( Loggability::Formatter::Default )
|
196
194
|
end
|
197
195
|
|
198
196
|
it "can be told to use the default formatter explicitly" do
|
199
|
-
|
200
|
-
expect(
|
197
|
+
logger.format_as( :default )
|
198
|
+
expect( logger.formatter ).to be_a( Loggability::Formatter::Default )
|
201
199
|
end
|
202
200
|
|
203
201
|
it "can be told to use a block as a formatter" do
|
204
|
-
|
202
|
+
logger.format_with do |severity, datetime, progname, msg|
|
205
203
|
original_formatter.call(severity, datetime, progname, msg.dump)
|
206
204
|
end
|
207
205
|
|
208
|
-
expect(
|
206
|
+
expect( logger.formatter ).to be_a( Proc )
|
209
207
|
end
|
210
208
|
|
211
209
|
it "can be told to use the HTML formatter" do
|
212
|
-
|
213
|
-
expect(
|
210
|
+
logger.format_as( :html )
|
211
|
+
expect( logger.formatter ).to be_a( Loggability::Formatter::HTML )
|
214
212
|
end
|
215
213
|
|
216
214
|
it "supports formatting with ::Logger::Formatter, too" do
|
217
215
|
output = []
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
216
|
+
logger.output_to( output )
|
217
|
+
logger.level = :debug
|
218
|
+
logger.formatter = ::Logger::Formatter.new
|
219
|
+
logger.debug "This should work."
|
222
220
|
|
223
|
-
|
224
|
-
|
221
|
+
expected_format = /D, \[\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d.\d+ #\d+\] DEBUG -- : This should work.\n/
|
222
|
+
expect( output.first ).to match( expected_format )
|
225
223
|
end
|
226
224
|
|
227
225
|
end
|
@@ -231,24 +229,26 @@ describe Loggability::Logger do
|
|
231
229
|
|
232
230
|
it "can create a proxy object that will log with the argument object as the 'progname'" do
|
233
231
|
messages = []
|
234
|
-
|
235
|
-
|
232
|
+
logger.output_to( messages )
|
233
|
+
logger.level = :debug
|
236
234
|
|
237
235
|
obj = Object.new
|
238
|
-
proxy =
|
236
|
+
proxy = logger.proxy_for( obj )
|
239
237
|
proxy.debug( "A debug message." )
|
240
238
|
proxy.info( "An info message." )
|
241
239
|
proxy.warn( "A warn message." )
|
242
240
|
proxy.error( "An error message." )
|
243
241
|
proxy.fatal( "A fatal message." )
|
244
242
|
|
245
|
-
|
243
|
+
expected_format = /DEBUG \{Object:0x[[:xdigit:]]+\} -- A debug message.\n/i
|
244
|
+
expect( messages.first ).to match( expected_format )
|
246
245
|
end
|
247
246
|
|
248
247
|
it "has a terse inspection format" do
|
249
248
|
object = Object.new
|
250
|
-
|
251
|
-
|
249
|
+
expect(
|
250
|
+
logger.proxy_for( object ).inspect
|
251
|
+
).to match( /ObjectNameProxy.* for Object/ )
|
252
252
|
end
|
253
253
|
|
254
254
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: loggability
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Granger
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
c7ZKPJcWBv0sm81+FCZXNACn2f9jfF8OQinxVs0O052KbGuEQaaiGIYeuuwQE2q6
|
31
31
|
ggcrPfcYeTwWlfZPu2LrBg==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2014-
|
33
|
+
date: 2014-04-14 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: hoe-mercurial
|
@@ -47,47 +47,47 @@ dependencies:
|
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: 1.4.0
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
|
-
name: hoe-
|
50
|
+
name: hoe-deveiate
|
51
51
|
requirement: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0.
|
55
|
+
version: '0.5'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
58
|
version_requirements: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.
|
62
|
+
version: '0.5'
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
64
|
+
name: hoe-highline
|
65
65
|
requirement: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - ~>
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
69
|
+
version: '0.2'
|
70
70
|
type: :development
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
76
|
+
version: '0.2'
|
77
77
|
- !ruby/object:Gem::Dependency
|
78
|
-
name:
|
78
|
+
name: rdoc
|
79
79
|
requirement: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - ~>
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: '0
|
83
|
+
version: '4.0'
|
84
84
|
type: :development
|
85
85
|
prerelease: false
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - ~>
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: '0
|
90
|
+
version: '4.0'
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: hoe-bundler
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,14 +136,14 @@ dependencies:
|
|
136
136
|
requirements:
|
137
137
|
- - ~>
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: '3.
|
139
|
+
version: '3.11'
|
140
140
|
type: :development
|
141
141
|
prerelease: false
|
142
142
|
version_requirements: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
144
|
- - ~>
|
145
145
|
- !ruby/object:Gem::Version
|
146
|
-
version: '3.
|
146
|
+
version: '3.11'
|
147
147
|
description: "A composable logging system built on the standard Logger library.\n\nYou
|
148
148
|
can add Loggability to large libraries and systems, then hook everything\nup later
|
149
149
|
when you know where you want logs to be written, at what level of\nseverity, and
|
@@ -211,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
211
211
|
- !ruby/object:Gem::Version
|
212
212
|
version: '0'
|
213
213
|
requirements: []
|
214
|
-
rubyforge_project:
|
214
|
+
rubyforge_project:
|
215
215
|
rubygems_version: 2.2.2
|
216
216
|
signing_key:
|
217
217
|
specification_version: 4
|
metadata.gz.sig
CHANGED
Binary file
|