log_switch 0.4.0 → 1.1.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 +7 -0
- data/CHANGELOG.md +133 -0
- data/Gemfile +3 -2
- data/LICENSE +24 -0
- data/README.md +142 -0
- data/Rakefile +28 -15
- data/lib/log_switch/version.rb +1 -1
- data/lib/log_switch.rb +134 -71
- data/log_switch.gemspec +33 -32
- data/spec/log_switch_spec.rb +97 -87
- data/spec/spec_helper.rb +5 -13
- metadata +54 -353
- data/.gemtest +0 -1
- data/History.rdoc +0 -51
- data/README.rdoc +0 -192
- data/lib/log_switch/mixin.rb +0 -31
- data/spec/coverage/assets/0.5.3/app.js +0 -88
- data/spec/coverage/assets/0.5.3/fancybox/blank.gif +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_close.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_loading.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_nav_left.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_nav_right.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_shadow_e.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_shadow_n.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_shadow_s.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_shadow_se.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_shadow_w.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_title_left.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_title_main.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_title_over.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancy_title_right.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancybox-x.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancybox-y.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/fancybox.png +0 -0
- data/spec/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css +0 -363
- data/spec/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js +0 -44
- data/spec/coverage/assets/0.5.3/favicon_green.png +0 -0
- data/spec/coverage/assets/0.5.3/favicon_red.png +0 -0
- data/spec/coverage/assets/0.5.3/favicon_yellow.png +0 -0
- data/spec/coverage/assets/0.5.3/highlight.css +0 -129
- data/spec/coverage/assets/0.5.3/highlight.pack.js +0 -1
- data/spec/coverage/assets/0.5.3/jquery-1.6.2.min.js +0 -18
- data/spec/coverage/assets/0.5.3/jquery.dataTables.min.js +0 -152
- data/spec/coverage/assets/0.5.3/jquery.timeago.js +0 -141
- data/spec/coverage/assets/0.5.3/jquery.url.js +0 -174
- data/spec/coverage/assets/0.5.3/loading.gif +0 -0
- data/spec/coverage/assets/0.5.3/magnify.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css +0 -295
- data/spec/coverage/assets/0.5.3/stylesheet.css +0 -383
- data/spec/coverage/assets/0.7.1/application.css +0 -1110
- data/spec/coverage/assets/0.7.1/application.js +0 -626
- data/spec/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
- data/spec/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
- data/spec/coverage/assets/0.7.1/favicon_green.png +0 -0
- data/spec/coverage/assets/0.7.1/favicon_red.png +0 -0
- data/spec/coverage/assets/0.7.1/favicon_yellow.png +0 -0
- data/spec/coverage/assets/0.7.1/loading.gif +0 -0
- data/spec/coverage/assets/0.7.1/magnify.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/coverage/index.html +0 -81
- data/spec/log_switch/coverage/assets/0.5.3/app.js +0 -88
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/blank.gif +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_close.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_loading.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_nav_left.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_nav_right.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_shadow_e.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_shadow_n.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_shadow_s.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_shadow_se.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_shadow_w.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_title_left.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_title_main.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_title_over.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancy_title_right.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancybox-x.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancybox-y.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/fancybox.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css +0 -363
- data/spec/log_switch/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js +0 -44
- data/spec/log_switch/coverage/assets/0.5.3/favicon_green.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/favicon_red.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/favicon_yellow.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/highlight.css +0 -129
- data/spec/log_switch/coverage/assets/0.5.3/highlight.pack.js +0 -1
- data/spec/log_switch/coverage/assets/0.5.3/jquery-1.6.2.min.js +0 -18
- data/spec/log_switch/coverage/assets/0.5.3/jquery.dataTables.min.js +0 -152
- data/spec/log_switch/coverage/assets/0.5.3/jquery.timeago.js +0 -141
- data/spec/log_switch/coverage/assets/0.5.3/jquery.url.js +0 -174
- data/spec/log_switch/coverage/assets/0.5.3/loading.gif +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/magnify.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/log_switch/coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css +0 -295
- data/spec/log_switch/coverage/assets/0.5.3/stylesheet.css +0 -383
- data/spec/log_switch/coverage/index.html +0 -81
- data/spec/log_switch/mixin_spec.rb +0 -89
data/log_switch.gemspec
CHANGED
|
@@ -1,37 +1,38 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
$LOAD_PATH.push File.expand_path('lib', __dir__)
|
|
2
4
|
require 'log_switch/version'
|
|
3
5
|
|
|
4
6
|
Gem::Specification.new do |s|
|
|
5
|
-
s.name =
|
|
7
|
+
s.name = 'log_switch'
|
|
6
8
|
s.version = LogSwitch::VERSION
|
|
7
|
-
s.authors = [
|
|
8
|
-
s.homepage =
|
|
9
|
-
s.email = %w
|
|
10
|
-
s.summary =
|
|
11
|
-
turned on and off.
|
|
12
|
-
s.description =
|
|
13
|
-
easily be turned on and off.
|
|
14
|
-
|
|
15
|
-
s.
|
|
16
|
-
s.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
s.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
s.add_development_dependency
|
|
9
|
+
s.authors = ['Steve Loveless']
|
|
10
|
+
s.homepage = 'https://github.com/turboladen/log_switch'
|
|
11
|
+
s.email = %w[steve.loveless@gmail.com]
|
|
12
|
+
s.summary = 'Extends a class for singleton style logging that can easily be
|
|
13
|
+
turned on and off.'
|
|
14
|
+
s.description = 'Extends a class for singleton style logging that can
|
|
15
|
+
easily be turned on and off.'
|
|
16
|
+
|
|
17
|
+
s.license = 'Unlicense'
|
|
18
|
+
s.required_ruby_version = '>= 3.3'
|
|
19
|
+
|
|
20
|
+
s.metadata = {
|
|
21
|
+
'source_code_uri' => 'https://github.com/turboladen/log_switch',
|
|
22
|
+
'changelog_uri' => "https://github.com/turboladen/log_switch/blob/v#{LogSwitch::VERSION}/CHANGELOG.md",
|
|
23
|
+
'rubygems_mfa_required' => 'true'
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
s.files = Dir.glob('{lib,spec}/**/*') +
|
|
27
|
+
%w[CHANGELOG.md Gemfile LICENSE README.md log_switch.gemspec Rakefile]
|
|
28
|
+
|
|
29
|
+
s.require_paths = %w[lib]
|
|
30
|
+
|
|
31
|
+
s.add_dependency 'logger', '~> 1.5'
|
|
32
|
+
|
|
33
|
+
s.add_development_dependency 'rake', '~> 13.0'
|
|
34
|
+
s.add_development_dependency 'rspec', '~> 3.13'
|
|
35
|
+
s.add_development_dependency 'rubocop', '~> 1.88'
|
|
36
|
+
s.add_development_dependency 'simplecov', '~> 1.0'
|
|
37
|
+
s.add_development_dependency 'yard', '~> 0.9'
|
|
36
38
|
end
|
|
37
|
-
|
data/spec/log_switch_spec.rb
CHANGED
|
@@ -1,121 +1,131 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
def self.get_requires
|
|
5
|
-
Dir[File.dirname(__FILE__) + '/../lib/log_switch/**/*.rb']
|
|
6
|
-
end
|
|
3
|
+
require 'spec_helper'
|
|
7
4
|
|
|
8
|
-
|
|
9
|
-
get_requires.each do |r|
|
|
10
|
-
it "should require #{r}" do
|
|
5
|
+
class IncluderClass; include LogSwitch; end
|
|
11
6
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
describe LogSwitch do
|
|
8
|
+
before { LogSwitch.reset_config! }
|
|
9
|
+
specify { expect(LogSwitch::VERSION).to eq '1.1.0' }
|
|
10
|
+
|
|
11
|
+
describe 'base class methods' do
|
|
12
|
+
describe '.included' do
|
|
13
|
+
it 'sets @includers on the class object that extended' do
|
|
14
|
+
expect(described_class.instance_variable_get(:@includers))
|
|
15
|
+
.to include(IncluderClass)
|
|
16
|
+
end
|
|
15
17
|
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
18
|
|
|
19
|
-
describe
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
describe '.logger' do
|
|
20
|
+
it 'is a Logger by default' do
|
|
21
|
+
expect(described_class.logger).to be_a Logger
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
describe IncluderClass do
|
|
27
|
+
subject { IncluderClass.new }
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
describe '.logging_enabled?' do
|
|
30
|
+
specify { expect(described_class).to respond_to(:logging_enabled?) }
|
|
31
|
+
|
|
32
|
+
it 'defaults to false' do
|
|
33
|
+
expect(described_class.logging_enabled?).to eq false
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it 'can be set to true' do
|
|
37
|
+
described_class.logging_enabled = true
|
|
38
|
+
expect(described_class).to be_logging_enabled
|
|
39
|
+
end
|
|
31
40
|
end
|
|
32
|
-
end
|
|
33
41
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
describe '.logger' do
|
|
43
|
+
it 'is a Logger by default' do
|
|
44
|
+
expect(described_class.logger).to be_a Logger
|
|
45
|
+
end
|
|
37
46
|
end
|
|
38
|
-
end
|
|
39
47
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
MyClass.logger = logger
|
|
45
|
-
MyClass.log("stuff", :meow)
|
|
48
|
+
describe '.default_log_level' do
|
|
49
|
+
it 'defaults to :debug' do
|
|
50
|
+
expect(described_class.default_log_level).to eq :debug
|
|
51
|
+
end
|
|
46
52
|
end
|
|
47
53
|
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
describe '.log_class_name?' do
|
|
55
|
+
specify { expect(described_class).to respond_to(:log_class_name?) }
|
|
50
56
|
end
|
|
51
57
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
object.stub :test_in_block
|
|
55
|
-
object.should_receive(:test_in_block)
|
|
58
|
+
describe '.log_class_name' do
|
|
59
|
+
specify { expect(described_class).to respond_to(:log_class_name) }
|
|
56
60
|
|
|
57
|
-
|
|
61
|
+
it 'defaults to true' do
|
|
62
|
+
expect(described_class.log_class_name).to eq true
|
|
63
|
+
end
|
|
58
64
|
|
|
59
|
-
|
|
65
|
+
it 'can be set to false' do
|
|
66
|
+
pending "Can't figure out why this doesn't pass. It works live..."
|
|
67
|
+
described_class.log_class_name = false
|
|
68
|
+
expect(described_class.log_class_name).to eq false
|
|
69
|
+
end
|
|
60
70
|
end
|
|
61
71
|
|
|
62
|
-
|
|
63
|
-
it
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
MyClass.log 'hi'
|
|
72
|
+
describe '.before_log' do
|
|
73
|
+
it 'assigns the given block to @before_block' do
|
|
74
|
+
described_class.before_log = proc { "I'm a block" }
|
|
75
|
+
expect(described_class.before_log).to be_a Proc
|
|
67
76
|
end
|
|
68
77
|
end
|
|
69
78
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
MyClass.logger.should_receive(:send).with(:debug, array)
|
|
74
|
-
expect { MyClass.log array }.to_not raise_exception
|
|
79
|
+
describe '#log' do
|
|
80
|
+
let(:logger) do
|
|
81
|
+
double 'Logger'
|
|
75
82
|
end
|
|
76
83
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
84
|
+
let(:object) do
|
|
85
|
+
o = Object.new
|
|
86
|
+
allow(o).to receive :test_in_block
|
|
87
|
+
o
|
|
81
88
|
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
89
|
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
# before do
|
|
91
|
+
# described_class.logger = logger
|
|
92
|
+
# end
|
|
87
93
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
end
|
|
94
|
+
it 'can log at any log level' do
|
|
95
|
+
# expect(logger).to receive(:send).with(:meow, "<IncluderClass> stuff")
|
|
96
|
+
subject.log('stuff', :meow)
|
|
97
|
+
end
|
|
93
98
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
it 'can take a block' do
|
|
100
|
+
allow(logger).to receive(:send).with(:debug, '<IncluderClass> hi')
|
|
101
|
+
expect(object).to receive(:test_in_block)
|
|
102
|
+
subject.log('hi') { object.test_in_block }
|
|
103
|
+
end
|
|
99
104
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
+
context 'with .before_log' do
|
|
106
|
+
it "calls the @before_block if that's set" do
|
|
107
|
+
allow(logger).to receive(:send).with(:debug, '<IncluderClass> hi')
|
|
108
|
+
described_class.before_log = proc { puts 'This is also before' }
|
|
109
|
+
expect(described_class.before_log).to receive(:call).once
|
|
110
|
+
subject.log 'hi'
|
|
111
|
+
end
|
|
112
|
+
end
|
|
105
113
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
114
|
+
context 'can log non-String objects' do
|
|
115
|
+
it 'an Array of various object types' do
|
|
116
|
+
array = [1, 'stuff', { two: 2 }]
|
|
117
|
+
message = "<IncluderClass> #{array}"
|
|
118
|
+
allow(logger).to receive(:send).with(:debug, message)
|
|
119
|
+
expect { subject.log array }.to_not raise_exception
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
it 'an Exception' do
|
|
123
|
+
ex = StandardError.new('Test error.')
|
|
124
|
+
message = "<IncluderClass> #{ex.message}"
|
|
125
|
+
allow(logger).to receive(:send).with(:debug, message)
|
|
126
|
+
expect { subject.log ex }.to_not raise_exception
|
|
127
|
+
end
|
|
128
|
+
end
|
|
110
129
|
end
|
|
111
130
|
end
|
|
112
|
-
|
|
113
|
-
describe ".log_class_name?" do
|
|
114
|
-
specify { MyClass.log_class_name?.should be_false }
|
|
115
|
-
|
|
116
|
-
specify {
|
|
117
|
-
MyClass.log_class_name = true
|
|
118
|
-
MyClass.log_class_name?.should be_true
|
|
119
|
-
}
|
|
120
|
-
end
|
|
121
131
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
require 'simplecov'
|
|
1
|
+
# frozen_string_literal: true
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
def format(result)
|
|
6
|
-
SimpleCov::Formatter::HTMLFormatter.new.format(result)
|
|
7
|
-
end
|
|
8
|
-
end
|
|
3
|
+
require 'simplecov'
|
|
9
4
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
SimpleCov.start do
|
|
13
|
-
add_filter "/spec"
|
|
14
|
-
end
|
|
5
|
+
SimpleCov.start do
|
|
6
|
+
skip '/spec'
|
|
15
7
|
end
|
|
16
8
|
|
|
17
|
-
|
|
9
|
+
$LOAD_PATH.unshift("#{File.dirname(__FILE__)}/../lib")
|
|
18
10
|
require 'log_switch'
|