silencer 0.2.0 → 0.3.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.
@@ -0,0 +1,8 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - jruby
6
+ - rbx
7
+ - ree
8
+ - ruby-head
data/README.md CHANGED
@@ -1,17 +1,17 @@
1
- Silencer
2
- ========
1
+ # Silencer [![Build Status](https://secure.travis-ci.org/spagalloco/silencer.png?branch=master)][travis] [![Dependency Status](https://gemnasium.com/spagalloco/silencer.png?travis)][gemnasium]
2
+
3
+ [travis]: http://travis-ci.org/spagalloco/silencer
4
+ [gemnasium]: https://gemnasium.com/spagalloco/silencer
3
5
 
4
6
  Silencer is a simple rack-middleware for Rails that can selectively disable logging on per-action basis. It's based on a [blog post](http://dennisreimann.de/blog/silencing-the-rails-log-on-a-per-action-basis/) by Dennis Reimann.
5
7
 
6
- Installation
7
- ------------
8
+ ## Installation
8
9
 
9
10
  Just add silencer to your Gemfile:
10
11
 
11
12
  gem 'silencer'
12
13
 
13
- Usage
14
- -----
14
+ ## Usage
15
15
 
16
16
  In your production environment (presumably):
17
17
 
@@ -27,8 +27,7 @@ Or if you'd prefer, you can pass it regular expressions:
27
27
 
28
28
  Silencer's logger will serve as a drop-in replacement for Rails' default logger. It will not suppress any logging by default, simply pass it an array of urls via the options hash. You can also send it a 'X-SILENCE-LOGGER' header (with any value) with your request and that will also produce the same behavior.
29
29
 
30
- Note on Patches/Pull Requests
31
- -----------------------------
30
+ ## Note on Patches/Pull Requests
32
31
 
33
32
  * Fork the project.
34
33
  * Make your feature addition or bug fix.
@@ -38,7 +37,6 @@ Note on Patches/Pull Requests
38
37
  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
39
38
  * Send me a pull request. Bonus points for topic branches.
40
39
 
41
- Copyright
42
- ---------
40
+ ## Copyright
43
41
 
44
- Copyright (c) 2012 Steve Agalloco. See [LICENSE](https://github.com/spagalloco/silencer/blob/master/LICENSE.md) for details.
42
+ Copyright (c) 2012 Steve Agalloco. See [LICENSE](https://github.com/spagalloco/silencer/blob/master/LICENSE.md) for details.
@@ -1,18 +1,18 @@
1
1
  require 'rails/rack/logger'
2
+ require 'active_support/core_ext/array/wrap'
2
3
 
3
4
  module Silencer
4
5
  class Logger < Rails::Rack::Logger
5
6
  def initialize(app, opts = {})
6
7
  @app = app
7
- @opts = opts
8
- @opts[:silence] ||= []
8
+ @silence = Array.wrap(opts[:silence])
9
9
  end
10
10
 
11
11
  def call(env)
12
- old_logger_level = Rails.logger.level
12
+ old_logger_level = Rails.logger.level
13
13
  Rails.logger.level = ::Logger::ERROR if silence_request?(env)
14
14
 
15
- @app.call(env)
15
+ super
16
16
  ensure
17
17
  # Return back to previous logging level
18
18
  Rails.logger.level = old_logger_level
@@ -21,19 +21,7 @@ module Silencer
21
21
  private
22
22
 
23
23
  def silence_request?(env)
24
- silent_header?(env) || silent_request_path?(env) || silent_request_match?(env)
25
- end
26
-
27
- def silent_header?(env)
28
- env['X-SILENCE-LOGGER']
29
- end
30
-
31
- def silent_request_path?(env)
32
- @opts[:silence].include?(env['PATH_INFO'])
33
- end
34
-
35
- def silent_request_match?(env)
36
- @opts[:silence].select { |s| s.kind_of?(Regexp) }.any? { |s| s =~ env['PATH_INFO'] }
24
+ env['X-SILENCE-LOGGER'] || @silence.any? { |s| s === env['PATH_INFO'] }
37
25
  end
38
26
  end
39
27
  end
@@ -1,3 +1,3 @@
1
1
  module Silencer
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -10,15 +10,15 @@ Gem::Specification.new do |gem|
10
10
  gem.description = 'Selectively quiet your Rails logger on a per-action basis'
11
11
  gem.summary = gem.description
12
12
 
13
- gem.add_development_dependency('rake', '~> 0.9')
14
- gem.add_development_dependency('rspec', '~> 2.6')
15
- gem.add_development_dependency('yard', '~> 0.7')
16
- gem.add_development_dependency('rdiscount', '~> 1.6')
17
- gem.add_development_dependency('simplecov', '~> 0.5')
18
- gem.add_development_dependency('guard', '~> 0.8')
19
- gem.add_development_dependency('guard-rspec', '~> 0.5')
13
+ gem.add_development_dependency 'rake'
14
+ gem.add_development_dependency 'rspec'
15
+ gem.add_development_dependency 'yard'
16
+ gem.add_development_dependency 'rdiscount'
17
+ gem.add_development_dependency 'simplecov'
18
+ gem.add_development_dependency 'guard'
19
+ gem.add_development_dependency 'guard-rspec'
20
20
 
21
- gem.add_dependency 'railties', '~> 3'
21
+ gem.add_dependency 'railties', '>= 3'
22
22
 
23
23
  gem.files = `git ls-files`.split("\n")
24
24
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -7,6 +7,7 @@ describe Silencer::Logger do
7
7
  Rails.logger = stub('ActiveSupport::BufferedLogger').tap do |l|
8
8
  l.stub(:level).and_return(::Logger::INFO)
9
9
  l.stub(:level=).and_return(true)
10
+ l.stub(:info)
10
11
  end
11
12
  end
12
13
 
@@ -17,21 +18,18 @@ describe Silencer::Logger do
17
18
  end
18
19
 
19
20
  it 'quiets the log when configured with a silenced path' do
20
- Rails.logger.should_not_receive(:info)
21
21
  Rails.logger.should_receive(:level=).with(::Logger::ERROR).once
22
22
 
23
23
  Silencer::Logger.new(@app, :silence => ['/']).call(Rack::MockRequest.env_for("/"))
24
24
  end
25
25
 
26
26
  it 'quiets the log when configured with a regex' do
27
- Rails.logger.should_not_receive(:info)
28
27
  Rails.logger.should_receive(:level=).with(::Logger::ERROR).once
29
28
 
30
29
  Silencer::Logger.new(@app, :silence => [/assets/]).call(Rack::MockRequest.env_for("/assets/application.css"))
31
30
  end
32
31
 
33
32
  it 'quiets the log when passed a custom header "X-SILENCE-LOGGER"' do
34
- Rails.logger.should_not_receive(:info)
35
33
  Rails.logger.should_receive(:level=).with(::Logger::ERROR).once
36
34
 
37
35
  Silencer::Logger.new(@app).call(Rack::MockRequest.env_for("/", 'X-SILENCE-LOGGER' => 'true'))
@@ -1,4 +1,10 @@
1
- require 'simplecov'
1
+ unless ENV['CI']
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_group 'Silencer', 'lib/silencer'
5
+ add_group 'Specs', 'spec'
6
+ end
7
+ end
2
8
 
3
9
  $LOAD_PATH.unshift(File.dirname(__FILE__))
4
10
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
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.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,126 +9,126 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-03 00:00:00.000000000 Z
12
+ date: 2012-09-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '0.9'
21
+ version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: '0.9'
29
+ version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rspec
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ~>
35
+ - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
- version: '2.6'
37
+ version: '0'
38
38
  type: :development
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ~>
43
+ - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: '2.6'
45
+ version: '0'
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: yard
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ~>
51
+ - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
- version: '0.7'
53
+ version: '0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ~>
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
- version: '0.7'
61
+ version: '0'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: rdiscount
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ~>
67
+ - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
- version: '1.6'
69
+ version: '0'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ~>
75
+ - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
- version: '1.6'
77
+ version: '0'
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: simplecov
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
83
- - - ~>
83
+ - - ! '>='
84
84
  - !ruby/object:Gem::Version
85
- version: '0.5'
85
+ version: '0'
86
86
  type: :development
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
- - - ~>
91
+ - - ! '>='
92
92
  - !ruby/object:Gem::Version
93
- version: '0.5'
93
+ version: '0'
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: guard
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
- - - ~>
99
+ - - ! '>='
100
100
  - !ruby/object:Gem::Version
101
- version: '0.8'
101
+ version: '0'
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
- - - ~>
107
+ - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
- version: '0.8'
109
+ version: '0'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: guard-rspec
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
115
- - - ~>
115
+ - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
- version: '0.5'
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
123
- - - ~>
123
+ - - ! '>='
124
124
  - !ruby/object:Gem::Version
125
- version: '0.5'
125
+ version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: railties
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
- - - ~>
131
+ - - ! '>='
132
132
  - !ruby/object:Gem::Version
133
133
  version: '3'
134
134
  type: :runtime
@@ -136,7 +136,7 @@ dependencies:
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  none: false
138
138
  requirements:
139
- - - ~>
139
+ - - ! '>='
140
140
  - !ruby/object:Gem::Version
141
141
  version: '3'
142
142
  description: Selectively quiet your Rails logger on a per-action basis
@@ -149,7 +149,7 @@ files:
149
149
  - .gemtest
150
150
  - .gitignore
151
151
  - .rspec
152
- - .simplecov
152
+ - .travis.yml
153
153
  - .yardopts
154
154
  - Gemfile
155
155
  - Guardfile
@@ -176,7 +176,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
176
176
  version: '0'
177
177
  segments:
178
178
  - 0
179
- hash: 3081853794874572743
179
+ hash: -4285288290975348200
180
180
  required_rubygems_version: !ruby/object:Gem::Requirement
181
181
  none: false
182
182
  requirements:
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  version: '0'
186
186
  segments:
187
187
  - 0
188
- hash: 3081853794874572743
188
+ hash: -4285288290975348200
189
189
  requirements: []
190
190
  rubyforge_project:
191
191
  rubygems_version: 1.8.24
data/.simplecov DELETED
@@ -1 +0,0 @@
1
- SimpleCov.start