typed-parameter 0.5.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -4
- data/lib/typed_parameter/base.rb +1 -1
- data/lib/typed_parameter/version.rb +1 -1
- data/typed_parameter.gemspec +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69e551b7c699d91a3f6a1f20616c32c3802027db6980b626a4b3ec01edda5eb0
|
4
|
+
data.tar.gz: 4650c2a5e68b02fc70b3c6718658a014e8de13f33466f9c7d1b9ebf627a013b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1a3fe4f14f1832ab4aaf757fd10b943d01d277e071e11592d6294af55183a23564cb1289e07b5033d218c7908864ef8158fea7153e423c97486da73038f31e9
|
7
|
+
data.tar.gz: 3f53cc4a56b7c26820205df4f6d4287b8086037d64db9c6e17f04246a01d893dd36ee56be8d327490fb1b1c2af882cf7c249f84c8c67f4bd3764b56d4aac5bfe
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# typed_parameter
|
2
|
-
Create typed parameter class using strong
|
2
|
+
Create typed parameter class using strong parameter in rails.
|
3
3
|
You can cleanup parameter code for permit in your controller and convert it to the type you want.
|
4
|
+
You can get your OpenAPI JSON for parameter schemas.
|
5
|
+
|
4
6
|
## Installation
|
5
7
|
|
6
8
|
Add this line to your application's Gemfile:
|
@@ -22,7 +24,7 @@ Or install it yourself as:
|
|
22
24
|
Example 1. Type convert
|
23
25
|
-----
|
24
26
|
~~~ruby
|
25
|
-
class UserCreateParams <
|
27
|
+
class UserCreateParams < TypedParameter::Base
|
26
28
|
field :name, String
|
27
29
|
field :age, Integer
|
28
30
|
field :email, String
|
@@ -201,7 +203,25 @@ TypedParameter::Constants.register :Email, EmailConstrant
|
|
201
203
|
TypedParameter::Swagger::Types.register :Email, EmailSwaggerType
|
202
204
|
~~~
|
203
205
|
|
204
|
-
Example 5.
|
206
|
+
Example 5. Use Inline Block
|
207
|
+
------
|
208
|
+
You can use parameter class by block
|
209
|
+
|
210
|
+
~~~ruby
|
211
|
+
class BlockParameter < TypedParameter::Base
|
212
|
+
field :some_object, Object do |i|
|
213
|
+
i.field :name, String
|
214
|
+
i.field :type, String
|
215
|
+
end
|
216
|
+
|
217
|
+
field :other_hash_list, [Hash] do |i|
|
218
|
+
i.field :index, Integer
|
219
|
+
i.field :value, Float
|
220
|
+
end
|
221
|
+
end
|
222
|
+
~~~
|
223
|
+
|
224
|
+
Example 6. Swaggerize
|
205
225
|
------
|
206
226
|
With Rswag(https://github.com/rswag/rswag), you can swaggerize your parameter types.
|
207
227
|
|
@@ -253,5 +273,5 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
253
273
|
|
254
274
|
## Contributing
|
255
275
|
|
256
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
276
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/tranquilthink/typed-parameter.
|
257
277
|
|
data/lib/typed_parameter/base.rb
CHANGED
@@ -25,7 +25,7 @@ module TypedParameter
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def permit(params)
|
28
|
-
raise Error::
|
28
|
+
raise Error, "params class must be ActionController::Parameters" unless params.class <= ActionController::Parameters
|
29
29
|
|
30
30
|
use_constraints(params).permit!
|
31
31
|
end
|
data/typed_parameter.gemspec
CHANGED
@@ -4,13 +4,13 @@ Gem::Specification.new do |spec|
|
|
4
4
|
spec.name = 'typed-parameter'
|
5
5
|
spec.version = TypedParameter::VERSION
|
6
6
|
spec.authors = ['Minwoo Jo']
|
7
|
-
spec.email = ['tranquilthink@
|
7
|
+
spec.email = ['tranquilthink@gmail.com']
|
8
8
|
spec.summary = 'Typed Paramter For Rails'
|
9
9
|
spec.description = 'Create typed parameter class using strong paramter in rails'
|
10
10
|
spec.homepage = 'https://github.com/tranquilthink/typed-parameter'
|
11
11
|
spec.license = 'MIT'
|
12
12
|
spec.platform = Gem::Platform::RUBY
|
13
|
-
spec.required_ruby_version = '>=
|
13
|
+
spec.required_ruby_version = '>= 2.7.0'
|
14
14
|
|
15
15
|
# spec.metadata['allowed_push_host'] = "https://github.com/tranquilthink/typed-parameter"
|
16
16
|
spec.metadata['homepage_uri'] = spec.homepage
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: typed-parameter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Minwoo Jo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
version: '0'
|
41
41
|
description: Create typed parameter class using strong paramter in rails
|
42
42
|
email:
|
43
|
-
- tranquilthink@
|
43
|
+
- tranquilthink@gmail.com
|
44
44
|
executables: []
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
@@ -98,7 +98,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
98
98
|
requirements:
|
99
99
|
- - ">="
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
101
|
+
version: 2.7.0
|
102
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
104
|
- - ">="
|