yell 0.4.3 → 0.5.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/README.md CHANGED
@@ -22,9 +22,8 @@ gem "yell"
22
22
 
23
23
  ## Usage
24
24
 
25
- On the basics, Yell works just like any other logging library. However, it
26
- tries to make your log mesages more readable. By default, it will format the given
27
- message as follows:
25
+ On the basics, you can use Yell just like any other logging library with a more
26
+ sophisticated message formatter.
28
27
 
29
28
  ```ruby
30
29
  logger = Yell.new STDOUT
@@ -35,56 +34,10 @@ logger.info "Hello World"
35
34
  # ISO8601 Timestamp Level Pid Message
36
35
  ```
37
36
 
38
- When no arguments are given, Yell will check for `ENV['RACK_ENV']` and
39
- determine the filename from that.
40
-
41
- Alternatively, you may define `ENV['YELL_ENV']` to set the filename. If neither
42
- `YELL_ENV` or `RACK_ENV` is defined, *'development'* will be the default. Also, if a
43
- `log` directory exists, Yell will place the file there (only if you have not passed
44
- a filename explicitly.
45
-
46
- Naturally, you can pass a `:filename` to Yell:
47
-
48
- ```ruby
49
- logger = Yell.new "yell.log"
50
- ```
51
-
52
- ### Levels
53
-
54
- Just like any other logging library, Yell allows you to define from which level
55
- onwarns you want to write your log message. here are some examples to show how
56
- you can combine those.
57
-
58
- ##### Example: Write from `:info` onwards
59
-
60
- ```ruby
61
- logger = Yell.new STDOUT, :level => :info # write on :info, :warn, :error, :fatal
62
- ```
63
-
64
- ##### Example: Write on `:info` and `:error` only
65
-
66
- ```ruby
67
- logger - Yell.new STDOUT, :level => [:info, :error] # write on :info and :error only
68
- ```
69
-
70
- ##### Example: Write between :info and :error
71
-
72
- ```ruby
73
- logger = Yell.new STDOUT, :level => (:info..:error)
74
-
75
- # NOTE: The Range might only work with 1.9 compatible rubies!
76
- ```
77
-
78
- There are more ways to set your logging level, please consult the
79
- [wiki](https://github.com/rudionrails/yell/wiki) on that.
80
-
81
-
82
- ### Adapters
83
-
84
- Yell comes with various adapters already build-in. Those are the mainly IO-based
85
- adapters for every day use. There are additional ones available as separate gems. Please
86
- consult the [wiki](https://github.com/rudionrails/yell/wiki) on that - they are listed
87
- there.
37
+ The strength of Yell, however, comes when using multiple adapters. The already built-in
38
+ ones are IO-based and require no further configuration. Also, there are additional ones
39
+ available as separate gems. Please consult the [wiki](https://github.com/rudionrails/yell/wiki)
40
+ on that - they are listed there.
88
41
 
89
42
  The standard adapters are:
90
43
 
@@ -99,33 +52,28 @@ Here are some short examples on how to combine them:
99
52
  ##### Example: Notice messages go into `STDOUT` and error messages into `STDERR`
100
53
 
101
54
  ```ruby
102
- logger = Yell.new do
103
- adapter STDOUT, :level => [:debug, :info, :warn]
104
- adapter STDERR, :level => [:error, :fatal]
55
+ logger = Yell.new do |l|
56
+ l.adapter STDOUT, :level => [:debug, :info, :warn]
57
+ l.adapter STDERR, :level => [:error, :fatal]
105
58
  end
106
59
  ```
107
60
 
108
- ##### Example: Notice messages to into `application.log` and error messages into `error.log`
61
+ ##### Example: Typical production Logger
109
62
 
110
- ```ruby
111
- logger = Yell.new do
112
- adapter :file, 'application.log', :level => [:debug, :info, :warn]
113
- adapter :file, 'error.log', :level => [:error, :fatal]
114
- end
115
- ```
116
-
117
- ##### Example: Every log severity is handled by a separate adapter and we ignore `:debug` and `:info` levels
63
+ We setup a logger that starts passing messages at the `:info` level. Severities
64
+ below `:error` go into the 'production.log', whereas anything higher is written
65
+ into the 'error.log'.
118
66
 
119
67
  ```ruby
120
- logger = Yell.new do
121
- level :warn # only start logging from :warn upwards
68
+ logger = Yell.new do |l|
69
+ l.level = :info # will only pass :info and above to the adapters
122
70
 
123
- adapter :stdout, :level => [:warn]
124
- adapter :datefile, 'error.log', :level => [:error]
125
- adapter :datefile, 'fatal.log', :level => [:fatal]
71
+ l.adapter :datefile, 'production.log', :level => Yell.level.lte(:warn)
72
+ l.adapter :datefile, 'error.log', :level => Yell.level.gte(:error)
126
73
  end
127
74
  ```
128
75
 
76
+
129
77
  ## Further Readings
130
78
 
131
79
  [How To: Setting The Log Level](https://github.com/rudionrails/yell/wiki/101-setting-the-log-level)
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../lib/yell'
3
+ require_relative '../lib/yell'
4
4
 
5
5
  puts <<-EOS
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../lib/yell'
3
+ require_relative '../lib/yell'
4
4
 
5
5
  puts <<-EOS
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../lib/yell'
3
+ require_relative '../lib/yell'
4
4
 
5
5
  puts <<-EOS
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../lib/yell'
3
+ require_relative '../lib/yell'
4
4
 
5
5
  puts <<-EOS
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../lib/yell'
3
+ require_relative '../lib/yell'
4
4
 
5
5
  puts <<-EOS
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../lib/yell'
3
+ require_relative '../lib/yell'
4
4
 
5
5
  puts <<-EOS
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../lib/yell'
3
+ require_relative '../lib/yell'
4
4
 
5
5
  puts <<-EOS
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.dirname(__FILE__) + '/../lib/yell'
3
+ require_relative '../lib/yell'
4
4
 
5
5
  puts <<-EOS
6
6
 
data/lib/yell.rb CHANGED
@@ -24,17 +24,11 @@
24
24
  require 'time'
25
25
  require 'socket'
26
26
 
27
- begin
28
- require 'yell/event'
29
- rescue LoadError
30
- $: << File.dirname(__FILE__)
31
- require 'yell/event'
32
- end
33
-
34
- require 'yell/level'
35
- require 'yell/formatter'
36
- require 'yell/adapters'
37
- require 'yell/logger'
27
+ require File.dirname(__FILE__) + '/yell/event'
28
+ require File.dirname(__FILE__) + '/yell/level'
29
+ require File.dirname(__FILE__) + '/yell/formatter'
30
+ require File.dirname(__FILE__) + '/yell/adapters'
31
+ require File.dirname(__FILE__) + '/yell/logger'
38
32
 
39
33
  module Yell #:nodoc:
40
34
  Severities = [ 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL', 'UNKNOWN' ]
@@ -49,18 +43,32 @@ module Yell #:nodoc:
49
43
  Yell::Logger.new( *args, &block )
50
44
  end
51
45
 
46
+ # Shortcut to Yell::Level.new
47
+ #
48
+ # @return [Yell::Level] A Yell::Level instance
52
49
  def level( val = nil )
53
50
  Yell::Level.new( val )
54
51
  end
55
52
 
53
+ # Shortcut to Yell::Fomatter.new
54
+ #
55
+ # @return [Yell::Formatter] A Yell::Formatter instance
56
56
  def format( pattern, date_pattern = nil )
57
57
  Yell::Formatter.new( pattern, date_pattern )
58
58
  end
59
59
 
60
-
61
60
  def env #:nodoc:
62
61
  ENV['YELL_ENV'] || ENV['RACK_ENV'] || 'development'
63
62
  end
63
+
64
+ def _deprecate( version, message, options = {} )
65
+ warning = ["Deprecation Warning (since v#{version}): #{message}" ]
66
+ warning << " before: #{options[:before]}" if options[:before]
67
+ warning << " after: #{options[:after]}" if options[:after]
68
+
69
+ $stderr.puts warning.join( "\n" )
70
+ end
71
+
64
72
  end
65
73
 
66
74
  end
data/lib/yell/adapters.rb CHANGED
@@ -46,11 +46,11 @@ module Yell #:nodoc:
46
46
  end
47
47
 
48
48
  # Base for all adapters
49
- require 'yell/adapters/base'
49
+ require File.dirname(__FILE__) + '/adapters/base'
50
50
 
51
51
  # IO based adapters
52
- require 'yell/adapters/io'
53
- require 'yell/adapters/streams'
54
- require 'yell/adapters/file'
55
- require 'yell/adapters/datefile'
52
+ require File.dirname(__FILE__) + '/adapters/io'
53
+ require File.dirname(__FILE__) + '/adapters/streams'
54
+ require File.dirname(__FILE__) + '/adapters/file'
55
+ require File.dirname(__FILE__) + '/adapters/datefile'
56
56
 
@@ -10,15 +10,18 @@ module Yell #:nodoc:
10
10
  # by the {Yell::Logger}.
11
11
  class Base
12
12
 
13
+ # Accessor to the level
14
+ attr_reader :level
15
+
13
16
  # Accessor to the options
14
17
  attr_reader :options
15
18
 
16
19
  def initialize( options = {}, &block )
17
20
  @options = options
18
21
 
19
- level options[:level]
22
+ self.level = options[:level]
20
23
 
21
- instance_eval( &block ) if block
24
+ block.call(self) if block
22
25
  end
23
26
 
24
27
  # The main method for calling the adapter.
@@ -43,7 +46,7 @@ module Yell #:nodoc:
43
46
  # level :info
44
47
  #
45
48
  # For more examples, refer to {Yell::Level}.
46
- def level( severity = nil )
49
+ def level=( severity )
47
50
  @level = Yell::Level.new( severity )
48
51
  end
49
52
 
@@ -16,12 +16,15 @@ module Yell #:nodoc:
16
16
  'DEFAULT' => "\e[0m" # NONE
17
17
  }
18
18
 
19
+ # Accessor to the formatter
20
+ attr_reader :format
19
21
 
20
22
  def initialize( options = {}, &block )
21
- format options[:format]
22
23
  colorize options.fetch(:colorize, false)
23
24
 
24
- super
25
+ self.format = options[:format]
26
+
27
+ super( options, &block )
25
28
  end
26
29
 
27
30
  # The IO stream
@@ -40,11 +43,11 @@ module Yell #:nodoc:
40
43
  end
41
44
 
42
45
  # Set the format for your message.
43
- def format( pattern, date_pattern = nil )
44
- @formatter = case pattern
46
+ def format=( pattern )
47
+ @format = case pattern
45
48
  when Yell::Formatter then pattern
46
49
  when false then Yell::Formatter.new( "%m" )
47
- else Yell::Formatter.new( pattern, date_pattern )
50
+ else Yell::Formatter.new( *pattern )
48
51
  end
49
52
  end
50
53
 
@@ -52,6 +55,7 @@ module Yell #:nodoc:
52
55
  def colorize( color = true )
53
56
  @colorize = color
54
57
  end
58
+ alias :colorize! :colorize
55
59
 
56
60
 
57
61
  private
data/lib/yell/level.rb CHANGED
@@ -63,6 +63,12 @@ module Yell #:nodoc:
63
63
  index.nil? ? false : @severities[index]
64
64
  end
65
65
 
66
+ # to_i implements backwards compatibility
67
+ def to_i
68
+ @severities.each_with_index { |s,i| return i if s == true }
69
+ end
70
+ alias :to_int :to_i
71
+
66
72
  def at( *severities ) #:nodoc:
67
73
  severities.each { |severity| calculate! :==, severity }
68
74
  self
data/lib/yell/logger.rb CHANGED
@@ -18,37 +18,41 @@ module Yell #:nodoc:
18
18
  # @example Setting the log level
19
19
  # Yell::Logger.new :level => :warn
20
20
  #
21
- # Yell::Logger.new do
22
- # level :warn
21
+ # Yell::Logger.new do |l|
22
+ # l.level = :warn
23
23
  # end
24
24
  #
25
25
  # @example Combined settings
26
26
  # Yell::Logger.new 'development.log', :level => :warn
27
27
  #
28
- # Yell::Logger.new :datefile, 'development.log' do
29
- # level :info
28
+ # Yell::Logger.new :datefile, 'development.log' do |l|
29
+ # l.level = :info
30
30
  # end
31
31
  class Logger
32
32
 
33
+ # Accessor to the log level
34
+ attr_reader :level
35
+
33
36
  def initialize( *args, &block )
34
37
  @adapters = []
35
38
 
36
39
  # extract options
37
40
  @options = args.last.is_a?(Hash) ? args.pop : {}
38
41
 
39
- # set the log level when given
40
- level @options[:level]
41
-
42
42
  # check if filename was given as argument and put it into the @options
43
43
  if args.last.is_a?( String )
44
44
  @options[:filename] = args.pop unless @options[:filename]
45
45
  end
46
46
 
47
+ # set the log level when given
48
+ self.level = @options[:level]
49
+
47
50
  # extract adapter
48
- adapter args.pop if args.any?
51
+ self.adapter args.pop if args.any?
49
52
 
50
53
  # eval the given block
51
- instance_eval( &block ) if block
54
+ # block.call(self) if block
55
+ _call( &block ) if block
52
56
 
53
57
  define!
54
58
  end
@@ -86,23 +90,52 @@ module Yell #:nodoc:
86
90
  # Set the minimum log level.
87
91
  #
88
92
  # @example Set the level to :warn
89
- # level :warn
93
+ # level = :warn
90
94
  #
91
95
  # @param [String, Symbol, Integer] val The minimum log level
96
+ def level=( severity )
97
+ @level = Yell::Level.new( severity )
98
+ end
99
+
100
+ # Deprecated: Use attr_reader in future
92
101
  def level( val = nil )
93
- @level = Yell::Level.new( val )
102
+ if val.nil?
103
+ @level
104
+ else
105
+ # deprecated, but should still work
106
+ Yell._deprecate( "0.5.0", "Use :level= for setting the log level",
107
+ :before => "Yell::Logger.new { level :info }",
108
+ :after => "Yell::Logger.new { |l| l.level = :info }"
109
+ )
110
+
111
+ @level = Yell::Level.new( val )
112
+ end
94
113
  end
95
114
 
96
115
  # Convenience method for resetting all adapters of the Logger.
97
116
  #
98
117
  # @param [Boolean] now Perform the reset immediately (default false)
99
- def close( now = false )
118
+ def close
100
119
  @adapters.each(&:close)
101
120
  end
102
121
 
103
122
 
104
123
  private
105
124
 
125
+ def _call( &block )
126
+ if block.arity == 0
127
+ Yell._deprecate( "0.5.0", "Yell::Logger.new with block expects argument now",
128
+ :before => "Yell::Logger.new { adapter STDOUT }",
129
+ :after => "Yell::Logger.new { |l| l.adapter STDOUT }"
130
+ )
131
+
132
+ # deprecated, but should still work
133
+ instance_eval( &block )
134
+ else
135
+ block.call(self)
136
+ end
137
+ end
138
+
106
139
  # Sets a default adapter if none was given explicitly and defines the log methods on
107
140
  # the logger instance.
108
141
  def define!
@@ -114,11 +147,11 @@ module Yell #:nodoc:
114
147
  # Creates instance methods for every defined log level (debug, info, ...) depending
115
148
  # on whether anything should be logged upon, for instance, #info.
116
149
  def define_log_methods!
117
- Yell::Severities.each do |s|
150
+ Yell::Severities.each_with_index do |s, index|
118
151
  name = s.downcase
119
152
 
120
153
  instance_eval %-
121
- def #{name}?; #{@level.at?(name)}; end # def info?; true; end
154
+ def #{name}?; @level.at?(#{index}); end # def info?; @level.at?(1); end
122
155
  #
123
156
  def #{name}( m = nil, &b ) # def info( m = nil, &b )
124
157
  return unless #{name}? # return unless info?
data/lib/yell/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Yell #:nodoc:
4
- VERSION = "0.4.3"
4
+ VERSION = "0.5.0"
5
5
 
6
6
  end
7
7
 
@@ -5,7 +5,7 @@ describe Yell::Adapters::Base do
5
5
  context "initialize with :level" do
6
6
  before do
7
7
  any_instance_of( Yell::Adapters::Base ) do |base|
8
- mock( base ).level( :info )
8
+ mock( base ).level= :info
9
9
  end
10
10
  end
11
11
 
@@ -18,7 +18,7 @@ describe Yell::Adapters::Base do
18
18
  context :level do
19
19
  before do
20
20
  any_instance_of( Yell::Adapters::Base ) do |base|
21
- mock( base ).level( :info )
21
+ mock( base ).level= :info
22
22
  end
23
23
  end
24
24
 
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+
3
+ describe Yell::Adapters do
4
+
5
+ context :new do
6
+ context "given a Yell::Adapters::Base ancestor" do
7
+ let( :stdout ) { Yell::Adapters::Stdout.new }
8
+
9
+ it "should return the instance" do
10
+ Yell::Adapters.new( stdout ).should == stdout
11
+ end
12
+ end
13
+
14
+ context "given STDOUT" do
15
+ it "should initialize Stdout adapter" do
16
+ mock.proxy( Yell::Adapters::Stdout ).new( anything )
17
+
18
+ Yell::Adapters.new STDOUT
19
+ end
20
+ end
21
+
22
+ context "given STDERR" do
23
+ it "should initialize Stderr adapter" do
24
+ mock.proxy( Yell::Adapters::Stderr ).new( anything )
25
+
26
+ Yell::Adapters.new STDERR
27
+ end
28
+ end
29
+
30
+ context "given an unregistered adapter" do
31
+ it "should raise NoSuchAdapter" do
32
+ lambda { Yell::Adapters.new :unknown }.should raise_error Yell::NoSuchAdapter
33
+ end
34
+ end
35
+ end
36
+
37
+ context :register do
38
+ let( :name ) { :test }
39
+ let( :klass ) { mock }
40
+
41
+ before { Yell::Adapters.register( name, klass ) }
42
+
43
+ it "should allow to being called from :new" do
44
+ mock( klass ).new( anything )
45
+
46
+ Yell::Adapters.new(name)
47
+ end
48
+ end
49
+
50
+ end
@@ -95,4 +95,17 @@ describe Yell::Level do
95
95
  it { level.at?(:error).should be_true }
96
96
  it { level.at?(:fatal).should be_true }
97
97
  end
98
+
99
+ context "backwards compatibility" do
100
+ let( :level ) { Yell::Level.new :warn }
101
+
102
+ it { level.to_i.should == 2 }
103
+ it { Integer(level).should == 2 }
104
+
105
+ it "should be compatible when passing to array (https://github.com/rudionrails/yell/issues/1)" do
106
+ severities = %w(FINE INFO WARNING SEVERE SEVERE INFO)
107
+
108
+ severities[level].should == "WARNING"
109
+ end
110
+ end
98
111
  end
@@ -37,9 +37,9 @@ describe Yell::Logger do
37
37
 
38
38
  context "a Logger instance with a given :filename" do
39
39
  it "should call adapter with :file" do
40
- mock.proxy( Yell::Adapters::File ).new( anything )
40
+ mock.proxy( Yell::Adapters::File ).new( :filename => 'test.log' )
41
41
 
42
- Yell::Logger.new
42
+ Yell::Logger.new 'test.log'
43
43
  end
44
44
  end
45
45
 
@@ -71,5 +71,28 @@ describe Yell::Logger do
71
71
  end
72
72
  end
73
73
 
74
+ context "a Logger instance with a given block" do
75
+ let( :level ) { Yell::Level.new :error }
76
+ let( :adapter ) { Yell::Adapters::Stdout.new }
77
+
78
+ let( :logger ) do
79
+ Yell::Logger.new do |l|
80
+ l.level = level
81
+ l.adapter adapter
82
+ end
83
+ end
84
+
85
+ it "should set the level" do
86
+ logger.level.severities.should == level.severities
87
+ end
88
+
89
+ it "should define adapter" do
90
+ adapters = logger.instance_variable_get :@adapters
91
+
92
+ adapters.size.should == 1
93
+ adapters.first.should == adapter
94
+ end
95
+ end
96
+
74
97
  end
75
98
 
data/yell.gemspec CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Rudolf Schmidt"]
10
10
 
11
- s.homepage = "http://rubygems.org/gems/yell"
11
+ s.homepage = "http://rudionrails.github.com/yell"
12
12
  s.summary = %q{Yell - Your Extensible Logging Library }
13
13
  s.description = %q{Yell - Your Extensible Logging Library. Define multiple adapters, various log level combinations or message formatting options like you've never done before}
14
14
 
@@ -19,5 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
+ s.add_development_dependency "rspec"
22
23
  s.add_development_dependency "rr"
23
24
  end
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.4.3
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-31 00:00:00.000000000 Z
12
+ date: 2012-04-03 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &70281944125180 !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: *70281944125180
14
25
  - !ruby/object:Gem::Dependency
15
26
  name: rr
16
- requirement: &70326139575900 !ruby/object:Gem::Requirement
27
+ requirement: &70281944124740 !ruby/object:Gem::Requirement
17
28
  none: false
18
29
  requirements:
19
30
  - - ! '>='
@@ -21,7 +32,7 @@ dependencies:
21
32
  version: '0'
22
33
  type: :development
23
34
  prerelease: false
24
- version_requirements: *70326139575900
35
+ version_requirements: *70281944124740
25
36
  description: Yell - Your Extensible Logging Library. Define multiple adapters, various
26
37
  log level combinations or message formatting options like you've never done before
27
38
  email:
@@ -57,13 +68,14 @@ files:
57
68
  - lib/yell/version.rb
58
69
  - spec/spec_helper.rb
59
70
  - spec/yell/adapters/base_spec.rb
71
+ - spec/yell/adapters_spec.rb
60
72
  - spec/yell/event_spec.rb
61
73
  - spec/yell/formatter_spec.rb
62
74
  - spec/yell/level_spec.rb
63
75
  - spec/yell/logger_spec.rb
64
76
  - spec/yell_spec.rb
65
77
  - yell.gemspec
66
- homepage: http://rubygems.org/gems/yell
78
+ homepage: http://rudionrails.github.com/yell
67
79
  licenses: []
68
80
  post_install_message:
69
81
  rdoc_options: []
@@ -90,6 +102,7 @@ summary: Yell - Your Extensible Logging Library
90
102
  test_files:
91
103
  - spec/spec_helper.rb
92
104
  - spec/yell/adapters/base_spec.rb
105
+ - spec/yell/adapters_spec.rb
93
106
  - spec/yell/event_spec.rb
94
107
  - spec/yell/formatter_spec.rb
95
108
  - spec/yell/level_spec.rb