rack-remove-param 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/rack/remove-param.rb +14 -7
  2. metadata +17 -7
@@ -1,11 +1,11 @@
1
1
  module Rack
2
2
  class RemoveParam
3
- def initialize(app, param_to_filter)
4
- @param_to_filter = param_to_filter
3
+ def initialize(app, params_to_filter)
4
+ process_params(params_to_filter)
5
5
  @app = app
6
6
  end
7
7
 
8
- def call(env)
8
+ def call(env)
9
9
  dup._call(env)
10
10
  end
11
11
 
@@ -13,7 +13,7 @@ module Rack
13
13
  @request = Rack::Request.new(env)
14
14
 
15
15
  if @request.post?
16
- delete_param(@request.params, @param_to_filter)
16
+ delete_param(@request.params)
17
17
  env["rack.request.form_hash"] = @request.params
18
18
  env["rack.request.form_vars"] = Rack::Utils.build_query(@request.params)
19
19
  end
@@ -23,9 +23,16 @@ module Rack
23
23
  end
24
24
 
25
25
  private
26
- def delete_param(hash, param)
27
- hash.delete(param)
28
- hash.each{|k, value| delete_param(value, param) if value.is_a?(Hash) }
26
+
27
+ def process_params(params)
28
+ @params_to_filter = params.is_a?(String) ? Array.new(1, params) : Array.new(params)
29
+ end
30
+
31
+ def delete_param(hash)
32
+ @params_to_filter.each do |param|
33
+ hash.delete(param)
34
+ hash.each{|k, value| delete_param(value, param) if value.is_a?(Hash) }
35
+ end
29
36
  end
30
37
  end
31
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-remove-param
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
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-09-28 00:00:00.000000000 Z
12
+ date: 2013-01-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70257290096640 !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'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70257290096640
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rack
27
- requirement: &70257290125080 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,7 +37,12 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70257290125080
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  description: Remove POST params from reqs
37
47
  email:
38
48
  - thomas@mintdigital.com
@@ -62,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
72
  version: '0'
63
73
  requirements: []
64
74
  rubyforge_project:
65
- rubygems_version: 1.8.11
75
+ rubygems_version: 1.8.23
66
76
  signing_key:
67
77
  specification_version: 3
68
78
  summary: Filter out unwanted params