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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58d4d06affca59a94ff2f62dc948c1b130869407246fdbb6561534ac349e8e7f
4
- data.tar.gz: 892359b6a2b76b655217f6e1a7b491fab1993d7a9a1b84b50bc6b66eeda635fb
3
+ metadata.gz: 692697c7fd5d8d9bb9424430688b8292a3f88e8287cf8785fd17f21ff472816f
4
+ data.tar.gz: 4d6b6b7c6bd3b3f5c1684cb4d0c549f0b18626c90ddcc6c28214dbc7488712f3
5
5
  SHA512:
6
- metadata.gz: 3a54177aa28fd77f9cec3a5aa4ca1f3edeb06afb31ae2a605dadc273c69e51f44849f0be0890aed3fa083e41bbc343266100699537f37067713d5b64d15f6970
7
- data.tar.gz: afbc832b80a5612d503dcdb04b615832fe9ed984cd33fcadb8248ea02df3cb0556ab4cd796ad285cfbb2c2dc10e350ffd3db3e7d3185aa91b6d170fc5fbde530
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 params.key?(key)
14
+ return unless target.key?(key)
13
15
  end
14
16
 
15
- params[key] = parameter_normalizer.public_send(method, params[key])
17
+ target[key] = parameter_normalizer.public_send(method, target[key])
16
18
  end
17
19
  end
18
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ParameterNormalizer
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
@@ -1,4 +1,22 @@
1
1
  module ParameterNormalizer
2
2
  VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
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.3.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: 2024-09-27 00:00:00.000000000 Z
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,9 +0,0 @@
1
- module ParameterNormalizer
2
- module ControllerConcerns
3
- module Normalizable
4
- @parameter_normalizer: Normalizer
5
-
6
- def parameter_normalizer: -> Normalizer
7
- end
8
- end
9
- end
@@ -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