params_parser 0.0.3 → 0.0.5
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 +4 -4
- data/lib/params_parser/rails_integration.rb +27 -0
- data/lib/params_parser/version.rb +1 -1
- data/params_parser.gemspec +3 -0
- data/spec/params_parser/rails_integration_spec.rb +21 -0
- data/spec/support/spec_helper.rb +2 -0
- metadata +59 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6258d34bf405d21f73b8a713003059e6c9fa4eb4
|
|
4
|
+
data.tar.gz: bf4a7649c64c0783d1b4353ecf1625967de83903
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c433952804f4ee108f308cfbedc5c3572529bedfe93cd12b76d15e9dead6f74c7048e67b376b143593fc54b01550f94de7eaee52982ac3be08cf906bcd0bea48
|
|
7
|
+
data.tar.gz: f6240ca56ee79006e1fd113a402322e1b72eae095c79fd46780183f847d50115e8354080669336fc292118d1f0d69fdd57a07923171fc76b3d8eb14d62b4e3a2
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module ParamsParser
|
|
2
|
+
module RailsIntegration
|
|
3
|
+
def parse(params)
|
|
4
|
+
permit(super(params))
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
private
|
|
8
|
+
|
|
9
|
+
def permit(params)
|
|
10
|
+
case params
|
|
11
|
+
when ActionController::Parameters
|
|
12
|
+
# The ParamsParser filters out parameters that are not explicitly
|
|
13
|
+
# configured and #parse creates a new object so we are safe to call
|
|
14
|
+
# #permit! here.
|
|
15
|
+
#
|
|
16
|
+
# 1. Any non configured parameters are already filtered out
|
|
17
|
+
# 2. A new object is created by #parse so we are not mutating and
|
|
18
|
+
# implicitly permitting the parameters that were passed in.
|
|
19
|
+
params.permit!
|
|
20
|
+
else
|
|
21
|
+
params
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
Parser.prepend RailsIntegration
|
|
27
|
+
end
|
data/params_parser.gemspec
CHANGED
|
@@ -21,4 +21,7 @@ Gem::Specification.new do |spec|
|
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.5"
|
|
22
22
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
23
23
|
spec.add_development_dependency "rake"
|
|
24
|
+
spec.add_development_dependency "actionpack", "~> 5.2.8.1"
|
|
25
|
+
spec.add_development_dependency "pry"
|
|
26
|
+
spec.add_development_dependency "pry-byebug"
|
|
24
27
|
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require "support/spec_helper"
|
|
2
|
+
|
|
3
|
+
require "params_parser/rails_integration"
|
|
4
|
+
require "active_support"
|
|
5
|
+
require "action_controller/metal/strong_parameters"
|
|
6
|
+
|
|
7
|
+
describe ParamsParser::Parser do
|
|
8
|
+
subject(:params_parser) { ParamsParser::Parser.new(config) }
|
|
9
|
+
|
|
10
|
+
describe "#parse" do
|
|
11
|
+
subject(:parsed) { params_parser.parse(parameters) }
|
|
12
|
+
|
|
13
|
+
let(:config) { { configured_key: { } } }
|
|
14
|
+
let(:parameters) { ActionController::Parameters.new(configured_key: double) }
|
|
15
|
+
|
|
16
|
+
it "returns an ActionController::Parameters with permitted keys" do
|
|
17
|
+
expect(parsed).to be_a ActionController::Parameters
|
|
18
|
+
expect(parsed).to be_permitted
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
data/spec/support/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: params_parser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter Swan
|
|
@@ -9,48 +9,90 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2023-03-30 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
requirements:
|
|
18
|
-
- - ~>
|
|
18
|
+
- - "~>"
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
20
|
version: '1.5'
|
|
21
21
|
type: :development
|
|
22
22
|
prerelease: false
|
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
24
24
|
requirements:
|
|
25
|
-
- - ~>
|
|
25
|
+
- - "~>"
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
27
|
version: '1.5'
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
29
|
name: rspec
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
|
-
- - ~>
|
|
32
|
+
- - "~>"
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
34
|
version: '3.0'
|
|
35
35
|
type: :development
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
|
-
- - ~>
|
|
39
|
+
- - "~>"
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
41
|
version: '3.0'
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
43
|
name: rake
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
45
45
|
requirements:
|
|
46
|
-
- -
|
|
46
|
+
- - ">="
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
48
|
version: '0'
|
|
49
49
|
type: :development
|
|
50
50
|
prerelease: false
|
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
52
|
requirements:
|
|
53
|
-
- -
|
|
53
|
+
- - ">="
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '0'
|
|
56
|
+
- !ruby/object:Gem::Dependency
|
|
57
|
+
name: actionpack
|
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
|
59
|
+
requirements:
|
|
60
|
+
- - "~>"
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: 5.2.8.1
|
|
63
|
+
type: :development
|
|
64
|
+
prerelease: false
|
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - "~>"
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: 5.2.8.1
|
|
70
|
+
- !ruby/object:Gem::Dependency
|
|
71
|
+
name: pry
|
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
|
73
|
+
requirements:
|
|
74
|
+
- - ">="
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: '0'
|
|
77
|
+
type: :development
|
|
78
|
+
prerelease: false
|
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
80
|
+
requirements:
|
|
81
|
+
- - ">="
|
|
82
|
+
- !ruby/object:Gem::Version
|
|
83
|
+
version: '0'
|
|
84
|
+
- !ruby/object:Gem::Dependency
|
|
85
|
+
name: pry-byebug
|
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
|
87
|
+
requirements:
|
|
88
|
+
- - ">="
|
|
89
|
+
- !ruby/object:Gem::Version
|
|
90
|
+
version: '0'
|
|
91
|
+
type: :development
|
|
92
|
+
prerelease: false
|
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
94
|
+
requirements:
|
|
95
|
+
- - ">="
|
|
54
96
|
- !ruby/object:Gem::Version
|
|
55
97
|
version: '0'
|
|
56
98
|
description: Parse Parameters with key mapping, transformation, and defaults.
|
|
@@ -61,17 +103,19 @@ executables: []
|
|
|
61
103
|
extensions: []
|
|
62
104
|
extra_rdoc_files: []
|
|
63
105
|
files:
|
|
64
|
-
- .gitignore
|
|
65
|
-
- .rspec
|
|
66
|
-
- .travis.yml
|
|
106
|
+
- ".gitignore"
|
|
107
|
+
- ".rspec"
|
|
108
|
+
- ".travis.yml"
|
|
67
109
|
- Gemfile
|
|
68
110
|
- LICENSE.txt
|
|
69
111
|
- README.md
|
|
70
112
|
- Rakefile
|
|
71
113
|
- lib/params_parser.rb
|
|
114
|
+
- lib/params_parser/rails_integration.rb
|
|
72
115
|
- lib/params_parser/version.rb
|
|
73
116
|
- params_parser.gemspec
|
|
74
117
|
- spec/params_parser/parser_spec.rb
|
|
118
|
+
- spec/params_parser/rails_integration_spec.rb
|
|
75
119
|
- spec/params_parser/use_cases/nested_parsers_spec.rb
|
|
76
120
|
- spec/support/spec_helper.rb
|
|
77
121
|
homepage: https://github.com/gustly/params_parser
|
|
@@ -84,21 +128,22 @@ require_paths:
|
|
|
84
128
|
- lib
|
|
85
129
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
86
130
|
requirements:
|
|
87
|
-
- -
|
|
131
|
+
- - ">="
|
|
88
132
|
- !ruby/object:Gem::Version
|
|
89
133
|
version: '0'
|
|
90
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
135
|
requirements:
|
|
92
|
-
- -
|
|
136
|
+
- - ">="
|
|
93
137
|
- !ruby/object:Gem::Version
|
|
94
138
|
version: '0'
|
|
95
139
|
requirements: []
|
|
96
140
|
rubyforge_project:
|
|
97
|
-
rubygems_version: 2.
|
|
141
|
+
rubygems_version: 2.5.1
|
|
98
142
|
signing_key:
|
|
99
143
|
specification_version: 4
|
|
100
144
|
summary: Parse Parameters with key mapping, transformation, and defaults.
|
|
101
145
|
test_files:
|
|
102
146
|
- spec/params_parser/parser_spec.rb
|
|
147
|
+
- spec/params_parser/rails_integration_spec.rb
|
|
103
148
|
- spec/params_parser/use_cases/nested_parsers_spec.rb
|
|
104
149
|
- spec/support/spec_helper.rb
|