silencer 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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