parameter_normalizer 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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