yell 1.4.0 → 2.2.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.
- checksums.yaml +4 -4
- data/.gitignore +6 -2
- data/.ruby-version +1 -0
- data/.travis.yml +16 -13
- data/Gemfile +15 -8
- data/LICENSE.txt +1 -1
- data/README.md +10 -3
- data/Rakefile +1 -3
- data/examples/002.1-log-level-basics.rb +2 -2
- data/examples/002.2-log-level-on-certain-severities-only.rb +5 -4
- data/examples/002.3-log-level-within-range.rb +7 -5
- data/examples/003.1-formatting-DefaultFormat.rb +3 -3
- data/examples/003.2-formatting-BasicFormat.rb +3 -3
- data/examples/003.3-formatting-ExtendedFormat.rb +3 -3
- data/examples/003.4-formatting-on-your-own.rb +3 -3
- data/examples/004.1-colorizing-the-log-output.rb +3 -3
- data/examples/005.1-repository.rb +3 -3
- data/examples/006.1-the-loggable-module.rb +2 -2
- data/examples/006.2-the-loggable-module-with-inheritance.rb +2 -2
- data/lib/core_ext/logger.rb +17 -0
- data/lib/yell/adapters/base.rb +17 -22
- data/lib/yell/adapters/datefile.rb +23 -22
- data/lib/yell/adapters/file.rb +3 -7
- data/lib/yell/adapters/io.rb +9 -15
- data/lib/yell/adapters/streams.rb +0 -5
- data/lib/yell/adapters.rb +41 -10
- data/lib/yell/configuration.rb +2 -4
- data/lib/yell/event.rb +46 -10
- data/lib/yell/formatter.rb +134 -54
- data/lib/yell/helpers/{adapters.rb → adapter.rb} +7 -17
- data/lib/yell/helpers/base.rb +0 -1
- data/lib/yell/helpers/formatter.rb +8 -8
- data/lib/yell/helpers/level.rb +7 -4
- data/lib/yell/helpers/silencer.rb +3 -5
- data/lib/yell/helpers/tracer.rb +6 -7
- data/lib/yell/level.rb +19 -16
- data/lib/yell/loggable.rb +11 -7
- data/lib/yell/logger.rb +47 -68
- data/lib/yell/repository.rb +3 -5
- data/lib/yell/silencer.rb +30 -14
- data/lib/yell/version.rb +1 -4
- data/lib/yell.rb +29 -11
- data/yell.gemspec +22 -15
- metadata +19 -50
- data/spec/fixtures/yell.yml +0 -7
- data/spec/spec_helper.rb +0 -50
- data/spec/threaded/yell_spec.rb +0 -100
- data/spec/yell/adapters/base_spec.rb +0 -43
- data/spec/yell/adapters/datefile_spec.rb +0 -168
- data/spec/yell/adapters/file_spec.rb +0 -75
- data/spec/yell/adapters/io_spec.rb +0 -72
- data/spec/yell/adapters/streams_spec.rb +0 -26
- data/spec/yell/adapters_spec.rb +0 -45
- data/spec/yell/configuration_spec.rb +0 -36
- data/spec/yell/event_spec.rb +0 -97
- data/spec/yell/formatter_spec.rb +0 -136
- data/spec/yell/level_spec.rb +0 -200
- data/spec/yell/loggable_spec.rb +0 -20
- data/spec/yell/logger_spec.rb +0 -263
- data/spec/yell/repository_spec.rb +0 -70
- data/spec/yell/silencer_spec.rb +0 -49
- data/spec/yell_spec.rb +0 -102
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Yell::Adapters::Stdout do
|
4
|
-
|
5
|
-
it { should be_kind_of(Yell::Adapters::Io) }
|
6
|
-
|
7
|
-
context "#stream" do
|
8
|
-
subject { Yell::Adapters::Stdout.new.send :stream }
|
9
|
-
|
10
|
-
it { should be_kind_of(IO) }
|
11
|
-
end
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
describe Yell::Adapters::Stderr do
|
16
|
-
|
17
|
-
it { should be_kind_of(Yell::Adapters::Io) }
|
18
|
-
|
19
|
-
context "#stream" do
|
20
|
-
subject { Yell::Adapters::Stderr.new.send(:stream) }
|
21
|
-
|
22
|
-
it { should be_kind_of(IO) }
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
data/spec/yell/adapters_spec.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Yell::Adapters do
|
4
|
-
|
5
|
-
context ".new" do
|
6
|
-
it "should accept an adapter instance" do
|
7
|
-
stdout = Yell::Adapters::Stdout.new
|
8
|
-
adapter = Yell::Adapters.new(stdout)
|
9
|
-
|
10
|
-
expect(adapter).to eq(stdout)
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should accept STDOUT" do
|
14
|
-
mock.proxy(Yell::Adapters::Stdout).new(anything)
|
15
|
-
|
16
|
-
Yell::Adapters.new(STDOUT)
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should accept STDERR" do
|
20
|
-
mock.proxy(Yell::Adapters::Stderr).new(anything)
|
21
|
-
|
22
|
-
Yell::Adapters.new(STDERR)
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should raise an unregistered adapter" do
|
26
|
-
expect {
|
27
|
-
Yell::Adapters.new :unknown
|
28
|
-
}.to raise_error(Yell::AdapterNotFound)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
context ".register" do
|
33
|
-
let(:name) { :test }
|
34
|
-
let(:klass) { mock }
|
35
|
-
|
36
|
-
before { Yell::Adapters.register(name, klass) }
|
37
|
-
|
38
|
-
it "should allow to being called from :new" do
|
39
|
-
mock(klass).new(anything)
|
40
|
-
|
41
|
-
Yell::Adapters.new(name)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Yell::Configuration do
|
4
|
-
|
5
|
-
describe ".load!" do
|
6
|
-
let(:file) { fixture_path + '/yell.yml' }
|
7
|
-
let(:config) { Yell::Configuration.load!(file) }
|
8
|
-
|
9
|
-
subject { config }
|
10
|
-
|
11
|
-
it { should be_kind_of(Hash) }
|
12
|
-
it { should have_key(:level) }
|
13
|
-
it { should have_key(:adapters) }
|
14
|
-
|
15
|
-
context ":level" do
|
16
|
-
subject { config[:level] }
|
17
|
-
|
18
|
-
it { should eq("info") }
|
19
|
-
end
|
20
|
-
|
21
|
-
context ":adapters" do
|
22
|
-
subject { config[:adapters] }
|
23
|
-
|
24
|
-
it { should be_kind_of(Array) }
|
25
|
-
|
26
|
-
# stdout
|
27
|
-
it { expect(subject.first).to eq(:stdout) }
|
28
|
-
|
29
|
-
# stderr
|
30
|
-
it { expect(subject.last).to be_kind_of(Hash) }
|
31
|
-
it { expect(subject.last).to eq(:stderr => {:level => 'gte.error'}) }
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
data/spec/yell/event_spec.rb
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
# Since Yell::Event.new is not called directly, but through
|
4
|
-
# the logger methods, we need to divert here in order to get
|
5
|
-
# the correct caller.
|
6
|
-
class EventFactory
|
7
|
-
def self.event(logger, level, message)
|
8
|
-
self._event(logger, level, message)
|
9
|
-
end
|
10
|
-
|
11
|
-
private
|
12
|
-
|
13
|
-
def self._event(logger, level, message)
|
14
|
-
Yell::Event.new(logger, level, message)
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
describe Yell::Event do
|
20
|
-
let(:logger) { Yell::Logger.new(:trace => true) }
|
21
|
-
let(:event) { Yell::Event.new(logger, 1, 'Hello World!') }
|
22
|
-
|
23
|
-
context "#level" do
|
24
|
-
subject { event.level }
|
25
|
-
it { should eq(1) }
|
26
|
-
end
|
27
|
-
|
28
|
-
context "#messages" do
|
29
|
-
subject { event.messages }
|
30
|
-
it { should eq(['Hello World!']) }
|
31
|
-
end
|
32
|
-
|
33
|
-
context "#time" do
|
34
|
-
let(:time) { Time.now }
|
35
|
-
subject { event.time.to_s }
|
36
|
-
|
37
|
-
before { Timecop.freeze(time) }
|
38
|
-
|
39
|
-
it { should eq(time.to_s) }
|
40
|
-
end
|
41
|
-
|
42
|
-
context "#hostname" do
|
43
|
-
subject { event.hostname }
|
44
|
-
it { should eq(Socket.gethostname) }
|
45
|
-
end
|
46
|
-
|
47
|
-
context "#pid" do
|
48
|
-
subject { event.pid }
|
49
|
-
it { should eq(Process.pid) }
|
50
|
-
end
|
51
|
-
|
52
|
-
context "#id when forked", :pending => RUBY_PLATFORM == 'java' ? "No forking with jruby" : false do
|
53
|
-
subject { @pid }
|
54
|
-
|
55
|
-
before do
|
56
|
-
read, write = IO.pipe
|
57
|
-
|
58
|
-
@pid = Process.fork do
|
59
|
-
event = Yell::Event.new(logger, 1, 'Hello World!')
|
60
|
-
write.puts event.pid
|
61
|
-
end
|
62
|
-
Process.wait
|
63
|
-
write.close
|
64
|
-
|
65
|
-
@child_pid = read.read.to_i
|
66
|
-
read.close
|
67
|
-
end
|
68
|
-
|
69
|
-
it { should_not eq(Process.pid) }
|
70
|
-
it { should eq(@child_pid) }
|
71
|
-
end
|
72
|
-
|
73
|
-
context "#progname" do
|
74
|
-
subject { event.progname }
|
75
|
-
it { should eq($0) }
|
76
|
-
end
|
77
|
-
|
78
|
-
context ":caller" do
|
79
|
-
subject { EventFactory.event(logger, 1, "Hello World") }
|
80
|
-
|
81
|
-
context "with trace" do
|
82
|
-
its(:file) { should eq(__FILE__) }
|
83
|
-
its(:line) { should eq("8") }
|
84
|
-
its(:method) { should eq("event") }
|
85
|
-
end
|
86
|
-
|
87
|
-
context "without trace" do
|
88
|
-
before { logger.trace = false }
|
89
|
-
|
90
|
-
its(:file) { should eq("") }
|
91
|
-
its(:line) { should eq("") }
|
92
|
-
its(:method) { should eq("") }
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
end
|
97
|
-
|
data/spec/yell/formatter_spec.rb
DELETED
@@ -1,136 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Yell::Formatter do
|
4
|
-
|
5
|
-
let(:logger) { Yell::Logger.new }
|
6
|
-
let(:event) { Yell::Event.new(logger, 1, 'Hello World!') }
|
7
|
-
let(:time) { Time.now }
|
8
|
-
|
9
|
-
let(:pattern) { "%m" }
|
10
|
-
let(:formatter) { Yell::Formatter.new(pattern) }
|
11
|
-
|
12
|
-
before do
|
13
|
-
Timecop.freeze(time)
|
14
|
-
end
|
15
|
-
|
16
|
-
describe "#format" do
|
17
|
-
subject { formatter.format(event) }
|
18
|
-
|
19
|
-
context "%m" do
|
20
|
-
let(:pattern) { "%m" }
|
21
|
-
it { should eq(event.messages.join(' ')) }
|
22
|
-
end
|
23
|
-
|
24
|
-
context "%l" do
|
25
|
-
let(:pattern) { "%l" }
|
26
|
-
it { should eq(Yell::Severities[event.level][0,1]) }
|
27
|
-
end
|
28
|
-
|
29
|
-
context "%L" do
|
30
|
-
let(:pattern) { "%L" }
|
31
|
-
it { should eq(Yell::Severities[event.level]) }
|
32
|
-
end
|
33
|
-
|
34
|
-
context "%d" do
|
35
|
-
let(:pattern) { "%d" }
|
36
|
-
it { should eq(event.time.iso8601) }
|
37
|
-
end
|
38
|
-
|
39
|
-
context "%p" do
|
40
|
-
let(:pattern) { "%p" }
|
41
|
-
it { should eq(event.pid.to_s) }
|
42
|
-
end
|
43
|
-
|
44
|
-
context "%P" do
|
45
|
-
let(:pattern) { "%P" }
|
46
|
-
it { should eq(event.progname) }
|
47
|
-
end
|
48
|
-
context "%t" do
|
49
|
-
let(:pattern) { "%t" }
|
50
|
-
it { should eq(event.thread_id.to_s) }
|
51
|
-
end
|
52
|
-
|
53
|
-
context "%h" do
|
54
|
-
let(:pattern) { "%h" }
|
55
|
-
it { should eq(event.hostname) }
|
56
|
-
end
|
57
|
-
|
58
|
-
context ":caller" do
|
59
|
-
let(:_caller) { [nil, nil, "/path/to/file.rb:123:in `test_method'"] }
|
60
|
-
|
61
|
-
before do
|
62
|
-
any_instance_of(Yell::Event) do |e|
|
63
|
-
stub(e).file { "/path/to/file.rb" }
|
64
|
-
stub(e).line { "123" }
|
65
|
-
stub(e).method { "test_method" }
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
context "%F" do
|
70
|
-
let(:pattern) { "%F" }
|
71
|
-
it { should eq("/path/to/file.rb") }
|
72
|
-
end
|
73
|
-
|
74
|
-
context "%f" do
|
75
|
-
let(:pattern) { "%f" }
|
76
|
-
it { should eq("file.rb") }
|
77
|
-
end
|
78
|
-
|
79
|
-
context "%M" do
|
80
|
-
let(:pattern) { "%M" }
|
81
|
-
it { should eq("test_method") }
|
82
|
-
end
|
83
|
-
|
84
|
-
context "%n" do
|
85
|
-
let(:pattern) { "%n" }
|
86
|
-
it { should eq("123") }
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
describe "#format from presets" do
|
92
|
-
subject { formatter.format(event) }
|
93
|
-
|
94
|
-
context "NoFormat" do
|
95
|
-
let(:pattern) { Yell::NoFormat }
|
96
|
-
it { should eq("Hello World!") }
|
97
|
-
end
|
98
|
-
|
99
|
-
context "DefaultFormat" do
|
100
|
-
let(:pattern) { Yell::DefaultFormat }
|
101
|
-
it { should eq("#{time.iso8601} [ INFO] #{$$} : Hello World!") }
|
102
|
-
end
|
103
|
-
|
104
|
-
context "BasicFormat" do
|
105
|
-
let(:pattern) { Yell::BasicFormat }
|
106
|
-
it { should eq("I, #{time.iso8601} : Hello World!") }
|
107
|
-
end
|
108
|
-
|
109
|
-
context "ExtendedFormat" do
|
110
|
-
let(:pattern) { Yell::ExtendedFormat }
|
111
|
-
it { should eq("#{time.iso8601} [ INFO] #{$$} #{Socket.gethostname} : Hello World!") }
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
describe "#format from exception" do
|
116
|
-
let(:exception) { StandardError.new( "This is an Exception" ) }
|
117
|
-
let(:event) { Yell::Event.new(logger, 1, exception) }
|
118
|
-
subject { formatter.format(event) }
|
119
|
-
|
120
|
-
before do
|
121
|
-
mock(exception).backtrace.times(any_times) { ["backtrace"] }
|
122
|
-
end
|
123
|
-
|
124
|
-
it { should eq("StandardError: This is an Exception\n\tbacktrace") }
|
125
|
-
end
|
126
|
-
|
127
|
-
describe "#format from hash messages" do
|
128
|
-
let(:hash) { { :test => 'message' } }
|
129
|
-
let(:event) { Yell::Event.new(logger, 1, hash) }
|
130
|
-
subject { formatter.format(event) }
|
131
|
-
|
132
|
-
it { should eq("test: message") }
|
133
|
-
end
|
134
|
-
|
135
|
-
end
|
136
|
-
|
data/spec/yell/level_spec.rb
DELETED
@@ -1,200 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Yell::Level do
|
4
|
-
|
5
|
-
context "default" do
|
6
|
-
let(:level) { Yell::Level.new }
|
7
|
-
|
8
|
-
it "should should return correctly" do
|
9
|
-
expect(level.at?(:debug)).to be_true
|
10
|
-
expect(level.at?(:info)).to be_true
|
11
|
-
expect(level.at?(:warn)).to be_true
|
12
|
-
expect(level.at?(:error)).to be_true
|
13
|
-
expect(level.at?(:fatal)).to be_true
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
context "given a Symbol" do
|
18
|
-
let(:level) { Yell::Level.new(severity) }
|
19
|
-
|
20
|
-
context ":debug" do
|
21
|
-
let(:severity) { :debug }
|
22
|
-
|
23
|
-
it "should should return correctly" do
|
24
|
-
expect(level.at?(:debug)).to be_true
|
25
|
-
expect(level.at?(:info)).to be_true
|
26
|
-
expect(level.at?(:warn)).to be_true
|
27
|
-
expect(level.at?(:error)).to be_true
|
28
|
-
expect(level.at?(:fatal)).to be_true
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
context ":info" do
|
33
|
-
let(:severity) { :info }
|
34
|
-
|
35
|
-
it "should should return correctly" do
|
36
|
-
expect(level.at?(:debug)).to be_false
|
37
|
-
expect(level.at?(:info)).to be_true
|
38
|
-
expect(level.at?(:warn)).to be_true
|
39
|
-
expect(level.at?(:error)).to be_true
|
40
|
-
expect(level.at?(:fatal)).to be_true
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
context ":warn" do
|
45
|
-
let(:severity) { :warn }
|
46
|
-
|
47
|
-
it "should should return correctly" do
|
48
|
-
expect(level.at?(:debug)).to be_false
|
49
|
-
expect(level.at?(:info)).to be_false
|
50
|
-
expect(level.at?(:warn)).to be_true
|
51
|
-
expect(level.at?(:error)).to be_true
|
52
|
-
expect(level.at?(:fatal)).to be_true
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
context ":error" do
|
57
|
-
let(:severity) { :error }
|
58
|
-
|
59
|
-
it "should should return correctly" do
|
60
|
-
expect(level.at?(:debug)).to be_false
|
61
|
-
expect(level.at?(:info)).to be_false
|
62
|
-
expect(level.at?(:warn)).to be_false
|
63
|
-
expect(level.at?(:error)).to be_true
|
64
|
-
expect(level.at?(:fatal)).to be_true
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
context ":fatal" do
|
69
|
-
let(:severity) { :fatal }
|
70
|
-
|
71
|
-
it "should should return correctly" do
|
72
|
-
expect(level.at?(:debug)).to be_false
|
73
|
-
expect(level.at?(:info)).to be_false
|
74
|
-
expect(level.at?(:warn)).to be_false
|
75
|
-
expect(level.at?(:error)).to be_false
|
76
|
-
expect(level.at?(:fatal)).to be_true
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
context "given a String" do
|
82
|
-
let(:level) { Yell::Level.new(severity) }
|
83
|
-
|
84
|
-
context "basic string" do
|
85
|
-
let(:severity) { 'error' }
|
86
|
-
|
87
|
-
it "should should return correctly" do
|
88
|
-
expect(level.at?(:debug)).to be_false
|
89
|
-
expect(level.at?(:info)).to be_false
|
90
|
-
expect(level.at?(:warn)).to be_false
|
91
|
-
expect(level.at?(:error)).to be_true
|
92
|
-
expect(level.at?(:fatal)).to be_true
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
context "complex string with outer boundaries" do
|
97
|
-
let(:severity) { 'gte.info lte.error' }
|
98
|
-
|
99
|
-
it "should should return correctly" do
|
100
|
-
expect(level.at?(:debug)).to be_false
|
101
|
-
expect(level.at?(:info)).to be_true
|
102
|
-
expect(level.at?(:warn)).to be_true
|
103
|
-
expect(level.at?(:error)).to be_true
|
104
|
-
expect(level.at?(:fatal)).to be_false
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
context "complex string with inner boundaries" do
|
109
|
-
let(:severity) { 'gt.info lt.error' }
|
110
|
-
|
111
|
-
it "should be valid" do
|
112
|
-
expect(level.at?(:debug)).to be_false
|
113
|
-
expect(level.at?(:info)).to be_false
|
114
|
-
expect(level.at?(:warn)).to be_true
|
115
|
-
expect(level.at?(:error)).to be_false
|
116
|
-
expect(level.at?(:fatal)).to be_false
|
117
|
-
end
|
118
|
-
end
|
119
|
-
|
120
|
-
context "complex string with precise boundaries" do
|
121
|
-
let(:severity) { 'at.info at.error' }
|
122
|
-
|
123
|
-
it "should be valid" do
|
124
|
-
expect(level.at?(:debug)).to be_false
|
125
|
-
expect(level.at?(:info)).to be_true
|
126
|
-
expect(level.at?(:warn)).to be_false
|
127
|
-
expect(level.at?(:error)).to be_true
|
128
|
-
expect(level.at?(:fatal)).to be_false
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
context "complex string with combined boundaries" do
|
133
|
-
let(:severity) { 'gte.error at.debug' }
|
134
|
-
|
135
|
-
it "should be valid" do
|
136
|
-
expect(level.at?(:debug)).to be_true
|
137
|
-
expect(level.at?(:info)).to be_false
|
138
|
-
expect(level.at?(:warn)).to be_false
|
139
|
-
expect(level.at?(:error)).to be_true
|
140
|
-
expect(level.at?(:fatal)).to be_true
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
145
|
-
context "given an Array" do
|
146
|
-
let(:level) { Yell::Level.new( [:debug, :warn, :fatal] ) }
|
147
|
-
|
148
|
-
it "should return correctly" do
|
149
|
-
expect(level.at?(:debug)).to be_true
|
150
|
-
expect(level.at?(:info)).to be_false
|
151
|
-
expect(level.at?(:warn)).to be_true
|
152
|
-
expect(level.at?(:error)).to be_false
|
153
|
-
expect(level.at?(:fatal)).to be_true
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
context "given a Range" do
|
158
|
-
let(:level) { Yell::Level.new( (1..3) ) }
|
159
|
-
|
160
|
-
it "should return correctly" do
|
161
|
-
expect(level.at?(:debug)).to be_false
|
162
|
-
expect(level.at?(:info)).to be_true
|
163
|
-
expect(level.at?(:warn)).to be_true
|
164
|
-
expect(level.at?(:error)).to be_true
|
165
|
-
expect(level.at?(:fatal)).to be_false
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
context "given a Yell::Level instance" do
|
170
|
-
let(:level) { Yell::Level.new(:warn) }
|
171
|
-
|
172
|
-
it "should return correctly" do
|
173
|
-
expect(level.at?(:debug)).to be_false
|
174
|
-
expect(level.at?(:info)).to be_false
|
175
|
-
expect(level.at?(:warn)).to be_true
|
176
|
-
expect(level.at?(:error)).to be_true
|
177
|
-
expect(level.at?(:fatal)).to be_true
|
178
|
-
end
|
179
|
-
end
|
180
|
-
|
181
|
-
context "backwards compatibility" do
|
182
|
-
let(:level) { Yell::Level.new :warn }
|
183
|
-
|
184
|
-
it "should return correctly to :to_i" do
|
185
|
-
expect(level.to_i).to eq(2)
|
186
|
-
end
|
187
|
-
|
188
|
-
it "should typecast with Integer correctly" do
|
189
|
-
expect(Integer(level)).to eq(2)
|
190
|
-
end
|
191
|
-
|
192
|
-
it "should be compatible when passing to array (https://github.com/rudionrails/yell/issues/1)" do
|
193
|
-
severities = %w(FINE INFO WARNING SEVERE SEVERE INFO)
|
194
|
-
|
195
|
-
expect(severities[level]).to eq("WARNING")
|
196
|
-
end
|
197
|
-
end
|
198
|
-
|
199
|
-
end
|
200
|
-
|
data/spec/yell/loggable_spec.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
class LoggableFactory
|
4
|
-
include Yell::Loggable
|
5
|
-
end
|
6
|
-
|
7
|
-
describe Yell::Loggable do
|
8
|
-
let(:factory) { LoggableFactory.new }
|
9
|
-
subject { factory }
|
10
|
-
|
11
|
-
it { should respond_to(:logger) }
|
12
|
-
|
13
|
-
it "should make a lookup in the Yell::Repository" do
|
14
|
-
mock(Yell::Repository)[LoggableFactory]
|
15
|
-
|
16
|
-
factory.logger
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
|