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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff83851eec45e830cd251fa2a886722d6968373ce94f3a84eef45b47b3c67351
4
- data.tar.gz: 47f08d63b04dad171ff357ca3ce31433d586bd5da1adc95560395783e687a80b
3
+ metadata.gz: 69e551b7c699d91a3f6a1f20616c32c3802027db6980b626a4b3ec01edda5eb0
4
+ data.tar.gz: 4650c2a5e68b02fc70b3c6718658a014e8de13f33466f9c7d1b9ebf627a013b7
5
5
  SHA512:
6
- metadata.gz: c3ceb0d67668c8f4b02a3269c450c9800b9c63821b1904d14992b50d06475bc911b0bb6b5b3a5fe7d26db97aa03e164fe877ec533058c7426eea520027e90d6f
7
- data.tar.gz: c505148ce9101eebf71c145f000abd8e45aa6501c4832cc39e03d43b0a734890d70cdf53a13226c8653ba4bee847d566672d4f139075d003b046a944b6fa54a4
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 paramter in rails.
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 < TypedParamter::Base
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. Swaggerize
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/[USERNAME]/typed-parameter.
276
+ Bug reports and pull requests are welcome on GitHub at https://github.com/tranquilthink/typed-parameter.
257
277
 
@@ -25,7 +25,7 @@ module TypedParameter
25
25
  end
26
26
 
27
27
  def permit(params)
28
- raise Error::ParameterError unless params.class <= ActionController::Parameters
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
@@ -1,3 +1,3 @@
1
1
  module TypedParameter
2
- VERSION = '0.5.0'.freeze
2
+ VERSION = '0.7.0'.freeze
3
3
  end
@@ -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@example.com']
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 = '>= 3.0.0'
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.5.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: 2022-02-08 00:00:00.000000000 Z
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@example.com
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: 3.0.0
101
+ version: 2.7.0
102
102
  required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  requirements:
104
104
  - - ">="