silencer 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011 Steve Agalloco
1
+ Copyright (c) 2012 Steve Agalloco
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -15,13 +15,17 @@ Usage
15
15
 
16
16
  In your production environment (presumably):
17
17
 
18
- ```ruby
19
- require 'silencer/logger'
20
18
 
21
- config.middleware.swap Rails::Rack::Logger, Silencer::Logger, :silence => ["/noisy/action.json"]
22
- ```
19
+ require 'silencer/logger'
23
20
 
24
- 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.
21
+ config.middleware.swap Rails::Rack::Logger, Silencer::Logger, :silence => ["/noisy/action.json"]
22
+
23
+ Or if you'd prefer, you can pass it regular expressions:
24
+
25
+
26
+ config.middleware.swap Rails::Rack::Logger, Silencer::Logger, :silence => [/assets/]
27
+
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.
25
29
 
26
30
  Note on Patches/Pull Requests
27
31
  -----------------------------
@@ -37,4 +41,4 @@ Note on Patches/Pull Requests
37
41
  Copyright
38
42
  ---------
39
43
 
40
- Copyright (c) 2011 Steve Agalloco. See LICENSE for details.
44
+ Copyright (c) 2012 Steve Agalloco. See [LICENSE](https://github.com/spagalloco/silencer/blob/master/LICENSE.md) for details.
@@ -9,7 +9,7 @@ module Silencer
9
9
  end
10
10
 
11
11
  def call(env)
12
- if env['X-SILENCE-LOGGER'] || @opts[:silence].include?(env['PATH_INFO'])
12
+ if silence_request?(env)
13
13
  Rails.logger.silence do
14
14
  @app.call(env)
15
15
  end
@@ -17,5 +17,23 @@ module Silencer
17
17
  super(env)
18
18
  end
19
19
  end
20
+
21
+ private
22
+
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']}
37
+ end
20
38
  end
21
39
  end
@@ -1,3 +1,3 @@
1
1
  module Silencer
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -21,6 +21,13 @@ describe Silencer::Logger do
21
21
  Silencer::Logger.new(@app, :silence => ['/']).call(Rack::MockRequest.env_for("/"))
22
22
  end
23
23
 
24
+ it 'quiets the log when configured with a regex' do
25
+ Rails.logger.should_receive(:silence)
26
+ Rails.logger.should_not_receive(:info)
27
+
28
+ Silencer::Logger.new(@app, :silence => [/assets/]).call(Rack::MockRequest.env_for("/assets/application.css"))
29
+ end
30
+
24
31
  it 'quiets the log when passed a custom header "X-SILENCE-LOGGER"' do
25
32
  Rails.logger.should_receive(:silence)
26
33
  Rails.logger.should_not_receive(:info)
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.0.1
4
+ version: 0.1.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: 2011-10-21 00:00:00.000000000Z
12
+ date: 2012-01-25 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &2153098740 !ruby/object:Gem::Requirement
16
+ requirement: &70098790487860 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0.9'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2153098740
24
+ version_requirements: *70098790487860
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &2153098240 !ruby/object:Gem::Requirement
27
+ requirement: &70098790486580 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '2.6'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2153098240
35
+ version_requirements: *70098790486580
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &2153097780 !ruby/object:Gem::Requirement
38
+ requirement: &70098790485680 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0.7'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2153097780
46
+ version_requirements: *70098790485680
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rdiscount
49
- requirement: &2153097320 !ruby/object:Gem::Requirement
49
+ requirement: &70098790485000 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '1.6'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2153097320
57
+ version_requirements: *70098790485000
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &2153127820 !ruby/object:Gem::Requirement
60
+ requirement: &70098790484120 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0.5'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2153127820
68
+ version_requirements: *70098790484120
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: guard
71
- requirement: &2153127360 !ruby/object:Gem::Requirement
71
+ requirement: &70098790483360 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0.8'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2153127360
79
+ version_requirements: *70098790483360
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: guard-rspec
82
- requirement: &2153126900 !ruby/object:Gem::Requirement
82
+ requirement: &70098790482200 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0.5'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2153126900
90
+ version_requirements: *70098790482200
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: railties
93
- requirement: &2153126440 !ruby/object:Gem::Requirement
93
+ requirement: &70098790480780 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '3'
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *2153126440
101
+ version_requirements: *70098790480780
102
102
  description: Selectively quiet your Rails logger on a per-action basis
103
103
  email:
104
104
  - steve.agalloco@gmail.com
@@ -143,10 +143,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
143
  version: '0'
144
144
  requirements: []
145
145
  rubyforge_project:
146
- rubygems_version: 1.8.6
146
+ rubygems_version: 1.8.10
147
147
  signing_key:
148
148
  specification_version: 3
149
149
  summary: Selectively quiet your Rails logger on a per-action basis
150
150
  test_files:
151
151
  - spec/silencer_spec.rb
152
152
  - spec/spec_helper.rb
153
+ has_rdoc: