loggability 0.10.1 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|