silencer 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,13 +9,13 @@ module Silencer
9
9
  end
10
10
 
11
11
  def call(env)
12
- if silence_request?(env)
13
- Rails.logger.silence do
14
- @app.call(env)
15
- end
16
- else
17
- super(env)
18
- end
12
+ old_logger_level = Rails.logger.level
13
+ Rails.logger.level = ::Logger::ERROR if silence_request?(env)
14
+
15
+ @app.call(env)
16
+ ensure
17
+ # Return back to previous logging level
18
+ Rails.logger.level = old_logger_level
19
19
  end
20
20
 
21
21
  private
@@ -33,7 +33,7 @@ module Silencer
33
33
  end
34
34
 
35
35
  def silent_request_match?(env)
36
- @opts[:silence].select {|s| s.kind_of?(Regexp) }.any? { |s| s =~ env['PATH_INFO']}
36
+ @opts[:silence].select { |s| s.kind_of?(Regexp) }.any? { |s| s =~ env['PATH_INFO'] }
37
37
  end
38
38
  end
39
39
  end
@@ -1,3 +1,3 @@
1
1
  module Silencer
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -4,33 +4,35 @@ describe Silencer::Logger do
4
4
  before(:each) do
5
5
  @app = lambda { |env| [200, {}, ''] }
6
6
 
7
- Rails.logger = ActiveSupport::BufferedLogger.new('tmp/test.log')
7
+ Rails.logger = stub('ActiveSupport::BufferedLogger').tap do |l|
8
+ l.stub(:level).and_return(::Logger::INFO)
9
+ l.stub(:level=).and_return(true)
10
+ end
8
11
  end
9
12
 
10
13
  it 'allows log writing when not implemented' do
11
- Rails.logger.should_not_receive(:silence)
12
- Rails.logger.should_receive(:info).at_least(:once)
14
+ Rails.logger.should_not_receive(:level=).with(::Logger::ERROR)
13
15
 
14
16
  Silencer::Logger.new(@app).call(Rack::MockRequest.env_for("/"))
15
17
  end
16
18
 
17
19
  it 'quiets the log when configured with a silenced path' do
18
- Rails.logger.should_receive(:silence)
19
20
  Rails.logger.should_not_receive(:info)
21
+ Rails.logger.should_receive(:level=).with(::Logger::ERROR).once
20
22
 
21
23
  Silencer::Logger.new(@app, :silence => ['/']).call(Rack::MockRequest.env_for("/"))
22
24
  end
23
25
 
24
26
  it 'quiets the log when configured with a regex' do
25
- Rails.logger.should_receive(:silence)
26
27
  Rails.logger.should_not_receive(:info)
28
+ Rails.logger.should_receive(:level=).with(::Logger::ERROR).once
27
29
 
28
30
  Silencer::Logger.new(@app, :silence => [/assets/]).call(Rack::MockRequest.env_for("/assets/application.css"))
29
31
  end
30
32
 
31
33
  it 'quiets the log when passed a custom header "X-SILENCE-LOGGER"' do
32
- Rails.logger.should_receive(:silence)
33
34
  Rails.logger.should_not_receive(:info)
35
+ Rails.logger.should_receive(:level=).with(::Logger::ERROR).once
34
36
 
35
37
  Silencer::Logger.new(@app).call(Rack::MockRequest.env_for("/", 'X-SILENCE-LOGGER' => 'true'))
36
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: silencer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-25 00:00:00.000000000Z
12
+ date: 2012-07-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70098790487860 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0.9'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70098790487860
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.9'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rspec
27
- requirement: &70098790486580 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '2.6'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70098790486580
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '2.6'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: yard
38
- requirement: &70098790485680 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ~>
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0.7'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70098790485680
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.7'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: rdiscount
49
- requirement: &70098790485000 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ~>
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '1.6'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70098790485000
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '1.6'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: simplecov
60
- requirement: &70098790484120 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ~>
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0.5'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70098790484120
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '0.5'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: guard
71
- requirement: &70098790483360 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ~>
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0.8'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *70098790483360
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '0.8'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: guard-rspec
82
- requirement: &70098790482200 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ~>
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '0.5'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *70098790482200
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '0.5'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: railties
93
- requirement: &70098790480780 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ~>
@@ -98,7 +133,12 @@ dependencies:
98
133
  version: '3'
99
134
  type: :runtime
100
135
  prerelease: false
101
- version_requirements: *70098790480780
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: '3'
102
142
  description: Selectively quiet your Rails logger on a per-action basis
103
143
  email:
104
144
  - steve.agalloco@gmail.com
@@ -122,7 +162,6 @@ files:
122
162
  - silencer.gemspec
123
163
  - spec/silencer_spec.rb
124
164
  - spec/spec_helper.rb
125
- - tmp/.gitkeep
126
165
  homepage: http://github.com/spagalloco/silencer
127
166
  licenses: []
128
167
  post_install_message:
@@ -135,15 +174,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
174
  - - ! '>='
136
175
  - !ruby/object:Gem::Version
137
176
  version: '0'
177
+ segments:
178
+ - 0
179
+ hash: 3081853794874572743
138
180
  required_rubygems_version: !ruby/object:Gem::Requirement
139
181
  none: false
140
182
  requirements:
141
183
  - - ! '>='
142
184
  - !ruby/object:Gem::Version
143
185
  version: '0'
186
+ segments:
187
+ - 0
188
+ hash: 3081853794874572743
144
189
  requirements: []
145
190
  rubyforge_project:
146
- rubygems_version: 1.8.10
191
+ rubygems_version: 1.8.24
147
192
  signing_key:
148
193
  specification_version: 3
149
194
  summary: Selectively quiet your Rails logger on a per-action basis
File without changes