yell 0.3.1 → 0.3.2
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/.travis.yml +10 -0
- data/README.md +10 -4
- data/Rakefile +11 -15
- data/examples/001-basic-usage.rb +1 -1
- data/examples/002.1-log-level-basics.rb +1 -1
- data/examples/002.2-log-level-on-certain-severities-only.rb +1 -1
- data/examples/002.3-log-level-within-range.rb +1 -1
- data/examples/003.1-formatting-DefaultFormat.rb +1 -1
- data/examples/003.2-formatting-BasicFormat.rb +1 -1
- data/examples/003.3-formatting-ExtendedFormat.rb +1 -1
- data/examples/003.4-formatting-on-your-own.rb +1 -1
- data/lib/yell/adapters/base.rb +26 -16
- data/lib/yell/adapters/datefile.rb +7 -7
- data/lib/yell/adapters/io.rb +21 -28
- data/lib/yell/formatter.rb +6 -4
- data/lib/yell/logger.rb +3 -3
- data/lib/yell/version.rb +1 -1
- data/spec/spec_helper.rb +2 -8
- data/spec/yell/event_spec.rb +60 -0
- data/spec/yell/formatter_spec.rb +103 -0
- data/spec/yell_spec.rb +15 -8
- data/yell.gemspec +2 -0
- metadata +19 -5
- data/spec/spec.opts +0 -3
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
Yell - Your Extensible Logging Library
|
2
2
|
|
3
|
+
[](http://travis-ci.org/rudionrails/yell)
|
4
|
+
|
3
5
|
## Installation
|
4
6
|
|
5
7
|
System wide:
|
@@ -11,10 +13,11 @@ gem install yell
|
|
11
13
|
Or in your Gemfile:
|
12
14
|
|
13
15
|
```ruby
|
14
|
-
gem
|
16
|
+
gem "yell"
|
15
17
|
```
|
16
18
|
|
17
19
|
## Usage
|
20
|
+
|
18
21
|
On the basics, Yell works just like any other logging library. However, it
|
19
22
|
tries to make your log mesages more readable. By default, it will format the given
|
20
23
|
message as follows:
|
@@ -32,17 +35,20 @@ When no arguments are given, Yell will check for `ENV['RACK_ENV']` and
|
|
32
35
|
determine the filename from that.
|
33
36
|
|
34
37
|
Alternatively, you may define `ENV['YELL_ENV']` to set the filename. If neither
|
35
|
-
`YELL_ENV` or `RACK_ENV` is defined,
|
38
|
+
`YELL_ENV` or `RACK_ENV` is defined, *'development'* will be the default. Also, if a
|
36
39
|
`log` directory exists, Yell will place the file there (only if you have not passed
|
37
40
|
a filename explicitly.
|
38
41
|
|
39
42
|
Naturally, you can pass a `:filename` to Yell:
|
40
43
|
|
41
44
|
```ruby
|
42
|
-
logger = Yell.new
|
45
|
+
logger = Yell.new "yell.log"
|
43
46
|
```
|
44
47
|
|
45
|
-
To learn about how to use [log levels](https://github.com/rudionrails/yell/wiki/101-setting-the-log-level),
|
48
|
+
To learn about how to use [log levels](https://github.com/rudionrails/yell/wiki/101-setting-the-log-level),
|
49
|
+
[log formatting](https://github.com/rudionrails/yell/wiki/101-formatting-log-messages), or different
|
50
|
+
[adapters](https://github.com/rudionrails/yell/wiki/101-using-adapters) see the
|
51
|
+
[wiki](https://github.com/rudionrails/yell/wiki) or have a look into the examples folder.
|
46
52
|
|
47
53
|
|
48
54
|
Copyright © 2011-2012 Rudolf Schmidt, released under the MIT license
|
data/Rakefile
CHANGED
@@ -4,23 +4,19 @@ require 'bundler'
|
|
4
4
|
Bundler::GemHelper.install_tasks
|
5
5
|
|
6
6
|
# === RSpec
|
7
|
-
|
7
|
+
begin
|
8
|
+
require 'rspec/core/rake_task'
|
8
9
|
|
9
|
-
desc "Run specs"
|
10
|
-
RSpec::Core::RakeTask.new do |t|
|
11
|
-
|
10
|
+
desc "Run specs"
|
11
|
+
RSpec::Core::RakeTask.new do |t|
|
12
|
+
t.rspec_opts = %w(--color --format progress --order random)
|
13
|
+
t.ruby_opts = %w(-w)
|
14
|
+
end
|
15
|
+
rescue LoadError
|
16
|
+
task :spec do
|
17
|
+
abort "`gem install rspec` in order to run tests"
|
18
|
+
end
|
12
19
|
end
|
13
20
|
|
14
21
|
task :default => :spec
|
15
22
|
|
16
|
-
|
17
|
-
# === Rdoc
|
18
|
-
require 'rake/rdoctask'
|
19
|
-
Rake::RDocTask.new do |rdoc|
|
20
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
21
|
-
|
22
|
-
rdoc.rdoc_dir = 'rdoc'
|
23
|
-
rdoc.title = "inventory #{version}"
|
24
|
-
rdoc.rdoc_files.include('README*')
|
25
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
26
|
-
end
|
data/examples/001-basic-usage.rb
CHANGED
data/lib/yell/adapters/base.rb
CHANGED
@@ -12,22 +12,10 @@ module Yell #:nodoc:
|
|
12
12
|
|
13
13
|
# The main method for calling the adapter.
|
14
14
|
#
|
15
|
-
#
|
16
|
-
#
|
15
|
+
# The method receives the log `event` and determines whether to
|
16
|
+
# actually write or not.
|
17
17
|
def write( event )
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
# Determine whether to write at the given severity.
|
22
|
-
#
|
23
|
-
# @example
|
24
|
-
# write? :error
|
25
|
-
#
|
26
|
-
# @param [String,Symbol,Integer] severity The severity to ask if to write or not.
|
27
|
-
#
|
28
|
-
# @return [Boolean] true or false
|
29
|
-
def write?( severity )
|
30
|
-
@level.nil? || @level.at?( severity )
|
18
|
+
write!( event ) if write?( event )
|
31
19
|
end
|
32
20
|
|
33
21
|
# Close the adapter (stream, connection, etc).
|
@@ -35,7 +23,7 @@ module Yell #:nodoc:
|
|
35
23
|
# Adapter classes should provide their own implementation
|
36
24
|
# of this method.
|
37
25
|
def close
|
38
|
-
|
26
|
+
raise 'Not implemented'
|
39
27
|
end
|
40
28
|
|
41
29
|
# Set the log level.
|
@@ -48,6 +36,28 @@ module Yell #:nodoc:
|
|
48
36
|
@level = Yell::Level.new( severity )
|
49
37
|
end
|
50
38
|
|
39
|
+
private
|
40
|
+
|
41
|
+
# The perform the actual write.
|
42
|
+
#
|
43
|
+
# Adapter classes should provide their own implementation
|
44
|
+
# of this method.
|
45
|
+
def write!( event )
|
46
|
+
raise 'Not implemented'
|
47
|
+
end
|
48
|
+
|
49
|
+
# Determine whether to write at the given severity.
|
50
|
+
#
|
51
|
+
# @example
|
52
|
+
# write? :error
|
53
|
+
#
|
54
|
+
# @param [String,Symbol,Integer] severity The severity to ask if to write or not.
|
55
|
+
#
|
56
|
+
# @return [Boolean] true or false
|
57
|
+
def write?( event )
|
58
|
+
@level.nil? || @level.at?( event.level )
|
59
|
+
end
|
60
|
+
|
51
61
|
end
|
52
62
|
|
53
63
|
end
|
@@ -21,13 +21,6 @@ module Yell #:nodoc:
|
|
21
21
|
super( options, &block )
|
22
22
|
end
|
23
23
|
|
24
|
-
# @overload Close the file if date is expired
|
25
|
-
def write( event )
|
26
|
-
close if close?
|
27
|
-
|
28
|
-
super( event )
|
29
|
-
end
|
30
|
-
|
31
24
|
# @overload Reset the file handle
|
32
25
|
def close
|
33
26
|
@filename = new_filename
|
@@ -38,6 +31,13 @@ module Yell #:nodoc:
|
|
38
31
|
|
39
32
|
private
|
40
33
|
|
34
|
+
# @overload Close the file if date is expired
|
35
|
+
def write!( event )
|
36
|
+
close if close?
|
37
|
+
|
38
|
+
super( event )
|
39
|
+
end
|
40
|
+
|
41
41
|
# Determines whether to close the file handle or not.
|
42
42
|
#
|
43
43
|
# It is based on the `:date_pattern` (can be passed as option upon initialize).
|
data/lib/yell/adapters/io.rb
CHANGED
@@ -25,28 +25,9 @@ module Yell
|
|
25
25
|
|
26
26
|
level options.fetch(:level, nil)
|
27
27
|
format options.fetch(:format, nil)
|
28
|
-
colorize
|
28
|
+
colorize options.fetch(:colorize, false)
|
29
29
|
|
30
|
-
instance_eval &block if block
|
31
|
-
end
|
32
|
-
|
33
|
-
# Main method to calling the file adapter.
|
34
|
-
#
|
35
|
-
# The method formats the message and writes it to the file handle.
|
36
|
-
#
|
37
|
-
# @example
|
38
|
-
# write( 'info', 'Hello World' )
|
39
|
-
def write( event )
|
40
|
-
message = @formatter.format( event )
|
41
|
-
|
42
|
-
# colorize if applicable
|
43
|
-
if colorize? and color = Colors[level]
|
44
|
-
message = color + message + Colors['DEFAULT']
|
45
|
-
end
|
46
|
-
|
47
|
-
message << "\n" unless message[-1] == ?\n # add new line if there is none
|
48
|
-
|
49
|
-
write!( message )
|
30
|
+
instance_eval( &block ) if block
|
50
31
|
end
|
51
32
|
|
52
33
|
# Set the format for your message.
|
@@ -59,20 +40,29 @@ module Yell
|
|
59
40
|
end
|
60
41
|
|
61
42
|
# Enable colorizing the log output.
|
62
|
-
def colorize
|
43
|
+
def colorize( color = true )
|
63
44
|
@colorize = color
|
64
45
|
end
|
65
46
|
|
66
|
-
|
67
|
-
|
68
|
-
# @return [Boolean] true or false
|
69
|
-
def colorize?; !!@colorize; end
|
47
|
+
def close
|
48
|
+
@stream.close if @stream.respond_to? :close
|
70
49
|
|
50
|
+
@stream = nil
|
51
|
+
end
|
71
52
|
|
72
53
|
private
|
73
54
|
|
74
|
-
#
|
75
|
-
def write!(
|
55
|
+
# The method formats the message and writes it to the file handle.
|
56
|
+
def write!( event )
|
57
|
+
message = @formatter.format( event )
|
58
|
+
|
59
|
+
# colorize if applicable
|
60
|
+
if colorize? and color = Colors[event.level]
|
61
|
+
message = color + message + Colors['DEFAULT']
|
62
|
+
end
|
63
|
+
|
64
|
+
message << "\n" unless message[-1] == ?\n # add new line if there is none
|
65
|
+
|
76
66
|
stream.print( message )
|
77
67
|
stream.flush
|
78
68
|
rescue => e
|
@@ -82,6 +72,9 @@ module Yell
|
|
82
72
|
raise( e, caller )
|
83
73
|
end
|
84
74
|
|
75
|
+
# Determie whether to colorize the log output or nor
|
76
|
+
def colorize?; !!@colorize; end
|
77
|
+
|
85
78
|
end
|
86
79
|
|
87
80
|
end
|
data/lib/yell/formatter.rb
CHANGED
@@ -42,7 +42,7 @@ module Yell #:nodoc:
|
|
42
42
|
ExtendedFormat = "%d [%5L] %p %h : %m"
|
43
43
|
|
44
44
|
|
45
|
-
def self.format( pattern, date_pattern )
|
45
|
+
def self.format( pattern, date_pattern = nil )
|
46
46
|
Yell::Formatter.new( pattern, date_pattern )
|
47
47
|
end
|
48
48
|
|
@@ -50,7 +50,6 @@ module Yell #:nodoc:
|
|
50
50
|
# The +Formatter+ provides a handle to configure your log message style.
|
51
51
|
class Formatter
|
52
52
|
|
53
|
-
#:nodoc:
|
54
53
|
PatternTable = {
|
55
54
|
"m" => "event.message", # Message
|
56
55
|
"l" => "event.level[0]", # Level (short), e.g.'I', 'W'
|
@@ -64,10 +63,14 @@ module Yell #:nodoc:
|
|
64
63
|
"n" => "event.line" # Line where the logger was called
|
65
64
|
}
|
66
65
|
|
67
|
-
#:nodoc:
|
68
66
|
PatternRegexp = /([^%]*)(%\d*)?([#{PatternTable.keys.join}])?(.*)/
|
69
67
|
|
70
68
|
|
69
|
+
# Initializes a new +Yell::Formatter+.
|
70
|
+
#
|
71
|
+
# Upon initialization it defines a format method. `format` takes
|
72
|
+
# a {Yell::Event} instance as agument in order to apply for desired log
|
73
|
+
# message formatting.
|
71
74
|
def initialize( pattern = nil, date_pattern = nil )
|
72
75
|
@pattern = pattern || Yell::DefaultFormat
|
73
76
|
@date_pattern = date_pattern
|
@@ -75,7 +78,6 @@ module Yell #:nodoc:
|
|
75
78
|
define!
|
76
79
|
end
|
77
80
|
|
78
|
-
|
79
81
|
private
|
80
82
|
|
81
83
|
# defines the format method
|
data/lib/yell/logger.rb
CHANGED
@@ -49,7 +49,7 @@ module Yell #:nodoc:
|
|
49
49
|
level @options[:level] if @options[:level]
|
50
50
|
|
51
51
|
# eval the given block
|
52
|
-
instance_eval &block if block
|
52
|
+
instance_eval( &block ) if block
|
53
53
|
|
54
54
|
define!
|
55
55
|
end
|
@@ -82,7 +82,7 @@ module Yell #:nodoc:
|
|
82
82
|
end
|
83
83
|
|
84
84
|
@adapters << Yell::Adapters[ type, options, &block ]
|
85
|
-
rescue NameError
|
85
|
+
rescue NameError
|
86
86
|
raise Yell::NoSuchAdapter, type
|
87
87
|
end
|
88
88
|
|
@@ -136,7 +136,7 @@ module Yell #:nodoc:
|
|
136
136
|
|
137
137
|
# Cycles all the adapters and writes the message
|
138
138
|
def write( event )
|
139
|
-
@adapters.each { |a| a.write(event)
|
139
|
+
@adapters.each { |a| a.write(event) }
|
140
140
|
end
|
141
141
|
|
142
142
|
end
|
data/lib/yell/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -4,17 +4,11 @@ $:.unshift File.expand_path('../../lib', __FILE__)
|
|
4
4
|
require 'yell'
|
5
5
|
|
6
6
|
require 'rspec'
|
7
|
+
require 'rr'
|
7
8
|
require 'timecop'
|
8
9
|
|
9
10
|
RSpec.configure do |config|
|
10
|
-
|
11
|
-
config.before do
|
12
|
-
Yell.config.stub!( :yaml_file ).and_return( File.dirname(__FILE__) + '/config/yell.yml' )
|
13
|
-
end
|
14
|
-
|
15
|
-
config.after do
|
16
|
-
Yell.config.reload! # to not run into caching problems during tests
|
17
|
-
end
|
11
|
+
config.mock_framework = :rr
|
18
12
|
|
19
13
|
end
|
20
14
|
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Yell::Event do
|
4
|
+
let(:event) { Yell::Event.new 'INFO', 'Hello World!' }
|
5
|
+
|
6
|
+
context :level do
|
7
|
+
subject { event.level}
|
8
|
+
|
9
|
+
it { should == 'INFO' }
|
10
|
+
end
|
11
|
+
|
12
|
+
context :message do
|
13
|
+
subject { event.message }
|
14
|
+
|
15
|
+
it { should == 'Hello World!' }
|
16
|
+
end
|
17
|
+
|
18
|
+
context :time do
|
19
|
+
subject { event.time }
|
20
|
+
|
21
|
+
let(:time) { Time.now }
|
22
|
+
|
23
|
+
before do
|
24
|
+
Timecop.freeze( time )
|
25
|
+
end
|
26
|
+
|
27
|
+
it { should == time }
|
28
|
+
end
|
29
|
+
|
30
|
+
context :caller do
|
31
|
+
let(:file) { "event.rb" }
|
32
|
+
let(:line) { "123" }
|
33
|
+
let(:method) { "test_method" }
|
34
|
+
|
35
|
+
before do
|
36
|
+
any_instance_of( Yell::Event ) do |e|
|
37
|
+
mock( e ).caller(4) { ["#{file}:#{line}:in `#{method}'"] }
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context :file do
|
42
|
+
subject { event.file }
|
43
|
+
|
44
|
+
it { should == file }
|
45
|
+
end
|
46
|
+
|
47
|
+
context :line do
|
48
|
+
subject { event.line }
|
49
|
+
|
50
|
+
it { should == line }
|
51
|
+
end
|
52
|
+
|
53
|
+
context :method do
|
54
|
+
subject { event.method }
|
55
|
+
|
56
|
+
it { should == method }
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Yell::Formatter do
|
4
|
+
|
5
|
+
let( :formatter ) { Yell::Formatter.new(subject) }
|
6
|
+
let( :event ) { Yell::Event.new 'INFO', 'Hello World!' }
|
7
|
+
let( :time ) { Time.now }
|
8
|
+
|
9
|
+
let( :format ) { formatter.format(event) }
|
10
|
+
|
11
|
+
before do
|
12
|
+
Timecop.freeze( time )
|
13
|
+
end
|
14
|
+
|
15
|
+
context "%m" do
|
16
|
+
subject { "%m" }
|
17
|
+
|
18
|
+
it { format.should == "Hello World!" }
|
19
|
+
end
|
20
|
+
|
21
|
+
context "%l" do
|
22
|
+
subject { "%l" }
|
23
|
+
|
24
|
+
it { format.should == "I" }
|
25
|
+
end
|
26
|
+
|
27
|
+
context "%L" do
|
28
|
+
subject { "%L" }
|
29
|
+
|
30
|
+
it { format.should == "INFO" }
|
31
|
+
end
|
32
|
+
|
33
|
+
context "%d" do
|
34
|
+
subject { "%d" }
|
35
|
+
|
36
|
+
it { format.should == time.iso8601 }
|
37
|
+
end
|
38
|
+
|
39
|
+
context "%p" do
|
40
|
+
subject { "%p" }
|
41
|
+
|
42
|
+
it { format.should == Process.pid.to_s }
|
43
|
+
end
|
44
|
+
|
45
|
+
context "%h" do
|
46
|
+
subject { "%h" }
|
47
|
+
|
48
|
+
it { format.should == Socket.gethostname }
|
49
|
+
end
|
50
|
+
|
51
|
+
context "caller" do
|
52
|
+
let( :_caller ) { ["/path/to/file.rb:123:in `test_method'"] }
|
53
|
+
|
54
|
+
before do
|
55
|
+
any_instance_of( Yell::Event ) do |e|
|
56
|
+
mock(e).caller(4) { _caller }
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context "%F" do
|
61
|
+
subject { "%F" }
|
62
|
+
|
63
|
+
it { format.should == "/path/to/file.rb" }
|
64
|
+
end
|
65
|
+
|
66
|
+
context "%f" do
|
67
|
+
subject { "%f" }
|
68
|
+
|
69
|
+
it { format.should == "file.rb" }
|
70
|
+
end
|
71
|
+
|
72
|
+
context "%M" do
|
73
|
+
subject { "%M" }
|
74
|
+
|
75
|
+
it { format.should == "test_method" }
|
76
|
+
end
|
77
|
+
|
78
|
+
context "%n" do
|
79
|
+
subject { "%n" }
|
80
|
+
|
81
|
+
it { format.should == "123" }
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context "DefaultFormat" do
|
86
|
+
subject { Yell::DefaultFormat }
|
87
|
+
|
88
|
+
it { format.should == "#{time.iso8601} [ INFO] #{$$} : Hello World!" }
|
89
|
+
end
|
90
|
+
|
91
|
+
context "BasicFormat" do
|
92
|
+
subject { Yell::BasicFormat }
|
93
|
+
|
94
|
+
it { format.should == "I, #{time.iso8601} : Hello World!" }
|
95
|
+
end
|
96
|
+
|
97
|
+
context "ExtendedFormat" do
|
98
|
+
subject { Yell::ExtendedFormat }
|
99
|
+
|
100
|
+
it { format.should == "#{time.iso8601} [ INFO] #{$$} #{Socket.gethostname} : Hello World!" }
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
data/spec/yell_spec.rb
CHANGED
@@ -1,17 +1,24 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Yell do
|
4
|
+
subject { Yell.new }
|
4
5
|
|
5
|
-
|
6
|
-
let( :logger ) { Yell.new }
|
6
|
+
it { should be_kind_of Yell::Logger }
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
it "should raise NoSuchAdapter when adapter cant be loaded" do
|
9
|
+
lambda { Yell.new :unknownadapter }.should raise_error( Yell::NoSuchAdapter )
|
10
|
+
end
|
11
|
+
|
12
|
+
context :level do
|
13
|
+
subject { Yell.level }
|
14
|
+
|
15
|
+
it { should be_kind_of Yell::Level }
|
16
|
+
end
|
17
|
+
|
18
|
+
context :format do
|
19
|
+
subject { Yell.format( "%m" ) }
|
11
20
|
|
12
|
-
it
|
13
|
-
lambda { Yell.new :unknownadapter }.should raise_error( Yell::NoSuchAdapter )
|
14
|
-
end
|
21
|
+
it { should be_kind_of Yell::Formatter }
|
15
22
|
end
|
16
23
|
|
17
24
|
end
|
data/yell.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,19 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
13
|
-
dependencies:
|
12
|
+
date: 2012-03-23 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rr
|
16
|
+
requirement: &70253484861760 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70253484861760
|
14
25
|
description: An easy to use logging library to log into files and any other self-defined
|
15
26
|
adapters
|
16
27
|
email:
|
@@ -19,6 +30,7 @@ extensions: []
|
|
19
30
|
extra_rdoc_files: []
|
20
31
|
files:
|
21
32
|
- .gitignore
|
33
|
+
- .travis.yml
|
22
34
|
- Gemfile
|
23
35
|
- LICENSE.txt
|
24
36
|
- README.md
|
@@ -43,8 +55,9 @@ files:
|
|
43
55
|
- lib/yell/level.rb
|
44
56
|
- lib/yell/logger.rb
|
45
57
|
- lib/yell/version.rb
|
46
|
-
- spec/spec.opts
|
47
58
|
- spec/spec_helper.rb
|
59
|
+
- spec/yell/event_spec.rb
|
60
|
+
- spec/yell/formatter_spec.rb
|
48
61
|
- spec/yell_spec.rb
|
49
62
|
- yell.gemspec
|
50
63
|
homepage: http://rubygems.org/gems/yell
|
@@ -72,7 +85,8 @@ signing_key:
|
|
72
85
|
specification_version: 3
|
73
86
|
summary: Yell - Your Extensible Logging Library
|
74
87
|
test_files:
|
75
|
-
- spec/spec.opts
|
76
88
|
- spec/spec_helper.rb
|
89
|
+
- spec/yell/event_spec.rb
|
90
|
+
- spec/yell/formatter_spec.rb
|
77
91
|
- spec/yell_spec.rb
|
78
92
|
has_rdoc:
|
data/spec/spec.opts
DELETED