rails_test_params_backport 0.2.0 → 0.2.1
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7edb81ac6f46027c420b6e86701614fc4d18056
|
4
|
+
data.tar.gz: d5f88be4d18052c18219bb22c02df923b9c7dc33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d8b6fcabe876616e7404d5bb4bc6e00d816a48d469ce5ab88c541626c8eca95b639eb5a99f7eea380ff5c08eaf97eb0f9108d9b6b1e7b19808f0fee9382f5a6
|
7
|
+
data.tar.gz: 25538da8a2b103ab9329ca5a5e76f0cf5bb5b50a294566197547ea2c06c0ee8e35fb37d745d144ff1253c95bd738a17aac7f85dd874bb25684beb878e4ce65b2
|
@@ -3,6 +3,8 @@ require 'active_support'
|
|
3
3
|
require 'action_dispatch'
|
4
4
|
|
5
5
|
module RailsTestParamsBackport
|
6
|
+
ParameterError = Class.new(RuntimeError)
|
7
|
+
|
6
8
|
ERROR_MESSAGE = <<-EOS.gsub(/^ {4}/, '')
|
7
9
|
Test HTTP request methods will accept only
|
8
10
|
the following keyword arguments in future Rails versions:
|
@@ -16,15 +18,11 @@ module RailsTestParamsBackport
|
|
16
18
|
EOS
|
17
19
|
|
18
20
|
class << self
|
19
|
-
def
|
21
|
+
def offensive_parameters?(parameters)
|
20
22
|
offensive_parameters = parameters.keys - %i(params headers env)
|
21
|
-
|
22
|
-
raise RailsTestParamsBackport::ParameterError, ERROR_MESSAGE
|
23
|
+
offensive_parameters.any?
|
23
24
|
end
|
24
25
|
end
|
25
|
-
|
26
|
-
class ParameterError < RuntimeError
|
27
|
-
end
|
28
26
|
end
|
29
27
|
|
30
28
|
require 'rails_test_params_backport/rails3' if ActiveSupport::VERSION::MAJOR == 3
|
@@ -3,7 +3,9 @@ module RailsTestParamsBackport
|
|
3
3
|
def process(action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
|
4
4
|
parameters = parameters.to_h
|
5
5
|
|
6
|
-
RailsTestParamsBackport.
|
6
|
+
if RailsTestParamsBackport.offensive_parameters?(parameters) || session || flash
|
7
|
+
raise(ParameterError, ERROR_MESSAGE)
|
8
|
+
end
|
7
9
|
|
8
10
|
headers = parameters.fetch(:headers, {})
|
9
11
|
env = parameters.fetch(:env, {})
|
@@ -17,7 +19,9 @@ module RailsTestParamsBackport
|
|
17
19
|
def process(method, path, parameters = nil, rack_env = nil)
|
18
20
|
parameters = parameters.to_h
|
19
21
|
|
20
|
-
RailsTestParamsBackport.
|
22
|
+
if RailsTestParamsBackport.offensive_parameters?(parameters) || rack_env
|
23
|
+
raise(ParameterError, ERROR_MESSAGE)
|
24
|
+
end
|
21
25
|
|
22
26
|
headers = parameters.fetch(:headers, {})
|
23
27
|
env = parameters.fetch(:env, {})
|
@@ -3,7 +3,9 @@ module RailsTestParamsBackport
|
|
3
3
|
def process(action, http_method = 'GET', *args)
|
4
4
|
parameters = args[0].to_h
|
5
5
|
|
6
|
-
RailsTestParamsBackport.
|
6
|
+
if RailsTestParamsBackport.offensive_parameters?(parameters) || args.length > 1
|
7
|
+
raise(ParameterError, ERROR_MESSAGE)
|
8
|
+
end
|
7
9
|
|
8
10
|
headers = parameters.fetch(:headers, {})
|
9
11
|
env = parameters.fetch(:env, {})
|
@@ -17,7 +19,9 @@ module RailsTestParamsBackport
|
|
17
19
|
def process(method, path, parameters = nil, headers_or_env = nil)
|
18
20
|
parameters = parameters.to_h
|
19
21
|
|
20
|
-
RailsTestParamsBackport.
|
22
|
+
if RailsTestParamsBackport.offensive_parameters?(parameters) || headers_or_env
|
23
|
+
raise(ParameterError, ERROR_MESSAGE)
|
24
|
+
end
|
21
25
|
|
22
26
|
headers = parameters.fetch(:headers, {})
|
23
27
|
env = parameters.fetch(:env, {})
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_test_params_backport
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pierre Schambacher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -179,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
179
|
version: '0'
|
180
180
|
requirements: []
|
181
181
|
rubyforge_project:
|
182
|
-
rubygems_version: 2.
|
182
|
+
rubygems_version: 2.5.1
|
183
183
|
signing_key:
|
184
184
|
specification_version: 4
|
185
185
|
summary: Write Rails 5 style tests in your Rails 3 or Rails 4 application.
|