parameter_normalizer 0.3.0 → 0.4.0
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/parameter_normalizer/controller_concerns/normalizable.rb +5 -3
- data/lib/parameter_normalizer/version.rb +1 -1
- data/sig/parameter_normalizer.rbs +19 -1
- metadata +33 -7
- data/sig/parameter_normalizer/controller_concerns/normalizable.rbs +0 -9
- data/sig/parameter_normalizer/normalizer.rbs +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 692697c7fd5d8d9bb9424430688b8292a3f88e8287cf8785fd17f21ff472816f
|
|
4
|
+
data.tar.gz: 4d6b6b7c6bd3b3f5c1684cb4d0c549f0b18626c90ddcc6c28214dbc7488712f3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 76f868d0ce73e1de9d14f6dd5d62c8c578cace9903f507592945c23cc4bf90279c13990e20d19446963c20d4dd1cb6f40f707a392bd836c0e4bb230505113f98
|
|
7
|
+
data.tar.gz: eba48eab532e003789a7ca7817789e4429b8d1ef2d67907223c3c101cecff8e1d3f622a2898e469c2bc569bf14f5c15470e9321f708613b16f2e42b32bb71300
|
|
@@ -7,12 +7,14 @@ module ParameterNormalizer
|
|
|
7
7
|
@parameter_normalizer ||= ParameterNormalizer::Normalizer.new
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
def normalize_parameter(key, method, skip_key_not_found: true)
|
|
10
|
+
def normalize_parameter(key, method, target: nil, skip_key_not_found: true)
|
|
11
|
+
target ||= params
|
|
12
|
+
|
|
11
13
|
if skip_key_not_found
|
|
12
|
-
return unless
|
|
14
|
+
return unless target.key?(key)
|
|
13
15
|
end
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
target[key] = parameter_normalizer.public_send(method, target[key])
|
|
16
18
|
end
|
|
17
19
|
end
|
|
18
20
|
end
|
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
module ParameterNormalizer
|
|
2
2
|
VERSION: String
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
class Normalizer
|
|
5
|
+
def as_integer: (untyped value) -> Integer?
|
|
6
|
+
def as_integer_array: (untyped value) -> Array[Integer]
|
|
7
|
+
def as_integer_hash: (untyped value) -> Hash[untyped, Integer]
|
|
8
|
+
def as_boolean: (untyped value) -> bool
|
|
9
|
+
def as_datetime: (untyped value) -> nil
|
|
10
|
+
def as_date: (untyped value) -> nil
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class Railtie
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
module ControllerConcerns
|
|
17
|
+
module Normalizable
|
|
18
|
+
def parameter_normalizer: -> Normalizer
|
|
19
|
+
def normalize_parameter: (Symbol key, Symbol method, target: untyped?, skip_key_not_found: bool) -> untyped
|
|
20
|
+
end
|
|
21
|
+
end
|
|
4
22
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: parameter_normalizer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Takahiro Ooishi
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2025-02-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: railties
|
|
@@ -52,6 +52,34 @@ dependencies:
|
|
|
52
52
|
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rbs
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: typeprof
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
55
83
|
description: A utility gem for normalizing parameters in Rails applications.
|
|
56
84
|
email:
|
|
57
85
|
- taka0125@gmail.com
|
|
@@ -65,15 +93,13 @@ files:
|
|
|
65
93
|
- lib/parameter_normalizer/railtie.rb
|
|
66
94
|
- lib/parameter_normalizer/version.rb
|
|
67
95
|
- sig/parameter_normalizer.rbs
|
|
68
|
-
- sig/parameter_normalizer/controller_concerns/normalizable.rbs
|
|
69
|
-
- sig/parameter_normalizer/normalizer.rbs
|
|
70
96
|
homepage: https://github.com/taka0125/parameter_normalizer
|
|
71
97
|
licenses:
|
|
72
98
|
- MIT
|
|
73
99
|
metadata:
|
|
74
100
|
homepage_uri: https://github.com/taka0125/parameter_normalizer
|
|
75
101
|
source_code_uri: https://github.com/taka0125/parameter_normalizer
|
|
76
|
-
post_install_message:
|
|
102
|
+
post_install_message:
|
|
77
103
|
rdoc_options: []
|
|
78
104
|
require_paths:
|
|
79
105
|
- lib
|
|
@@ -89,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
89
115
|
version: '0'
|
|
90
116
|
requirements: []
|
|
91
117
|
rubygems_version: 3.4.19
|
|
92
|
-
signing_key:
|
|
118
|
+
signing_key:
|
|
93
119
|
specification_version: 4
|
|
94
120
|
summary: A utility gem for normalizing parameters in Rails applications.
|
|
95
121
|
test_files: []
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module ParameterNormalizer
|
|
2
|
-
class Normalizer
|
|
3
|
-
def as_boolean: -> bool
|
|
4
|
-
|
|
5
|
-
def as_date: -> Date?
|
|
6
|
-
|
|
7
|
-
def as_datetime: -> ActiveSupport::TimeWithZone?
|
|
8
|
-
|
|
9
|
-
def as_integer: -> Integer?
|
|
10
|
-
|
|
11
|
-
def as_integer_array: -> [Integer?]
|
|
12
|
-
|
|
13
|
-
def as_integer_hash: -> Hash[untyped, Integer?]
|
|
14
|
-
end
|
|
15
|
-
end
|