typed-parameter 0.5.0 → 0.7.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: 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
  - - ">="