rack-remove-param 0.0.1 → 0.0.2

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.
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