rails-param-validation 0.2.2 → 0.2.3
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 +4 -4
- data/.gitignore +0 -0
- data/.gitlab-ci.yml +0 -0
- data/Gemfile +0 -0
- data/LICENSE.txt +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/docs/_config.yml +0 -0
- data/docs/annotations.md +0 -0
- data/docs/getting-started.md +0 -0
- data/docs/image/error-screenshot.png +0 -0
- data/docs/index.md +0 -0
- data/docs/main-idea.md +0 -0
- data/docs/openapi.md +0 -0
- data/docs/type-definition.md +3 -3
- data/lib/rails-param-validation.rb +0 -0
- data/lib/rails-param-validation/errors/missing_parameter_annotation.rb +0 -0
- data/lib/rails-param-validation/errors/no_matching_factory.rb +0 -0
- data/lib/rails-param-validation/errors/param_validation_failed_error.rb +0 -0
- data/lib/rails-param-validation/errors/type_not_found.rb +0 -0
- data/lib/rails-param-validation/rails/action_definition.rb +0 -0
- data/lib/rails-param-validation/rails/annotation_manager.rb +0 -0
- data/lib/rails-param-validation/rails/config.rb +2 -1
- data/lib/rails-param-validation/rails/extensions/annotation_extension.rb +0 -0
- data/lib/rails-param-validation/rails/extensions/custom_type_extension.rb +0 -0
- data/lib/rails-param-validation/rails/extensions/error.template.html.erb +0 -0
- data/lib/rails-param-validation/rails/extensions/validation_extension.rb +1 -3
- data/lib/rails-param-validation/rails/helper.rb +0 -0
- data/lib/rails-param-validation/rails/openapi/openapi.rb +0 -0
- data/lib/rails-param-validation/rails/openapi/routing_helper.rb +0 -0
- data/lib/rails-param-validation/rails/rails.rb +11 -9
- data/lib/rails-param-validation/rails/tasks/openapi.rake +2 -2
- data/lib/rails-param-validation/types/types.rb +0 -0
- data/lib/rails-param-validation/validator.rb +0 -0
- data/lib/rails-param-validation/validator_factory.rb +0 -0
- data/lib/rails-param-validation/validators/alternatives.rb +0 -0
- data/lib/rails-param-validation/validators/array.rb +0 -0
- data/lib/rails-param-validation/validators/boolean.rb +0 -0
- data/lib/rails-param-validation/validators/constant.rb +0 -0
- data/lib/rails-param-validation/validators/custom_type.rb +0 -0
- data/lib/rails-param-validation/validators/date.rb +0 -0
- data/lib/rails-param-validation/validators/datetime.rb +0 -0
- data/lib/rails-param-validation/validators/float.rb +0 -0
- data/lib/rails-param-validation/validators/hash.rb +0 -0
- data/lib/rails-param-validation/validators/integer.rb +0 -0
- data/lib/rails-param-validation/validators/object.rb +0 -0
- data/lib/rails-param-validation/validators/optional.rb +0 -0
- data/lib/rails-param-validation/validators/regex.rb +0 -0
- data/lib/rails-param-validation/validators/string.rb +0 -0
- data/lib/rails-param-validation/validators/uuid.rb +0 -0
- data/lib/rails-param-validation/version.rb +1 -1
- data/rails-param-validation.gemspec +0 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4a98d65517bb634880f15f8646ee1645a60c00a962c7c604df80c9ead49404f
|
4
|
+
data.tar.gz: 7e755c2e7011fa1c848c1f4cf59ca93232a8829ba081c11b859707e652ed3a9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ceb39335b93f488396532b5317a7cc48ddd633e795417bb30b4c628f790778864024ce83e67affb2a4e91713b9e8f2f8336bdfb3d4998714fbf3ca1df6112518
|
7
|
+
data.tar.gz: 811e141a19bcafadc2a0270620ad844ae104249b45dd9581b0d083694b48874914dba256a304842a4d60fbbc5316ab7013a35027c693166b04ce2c07caeb39e4
|
data/.gitignore
CHANGED
File without changes
|
data/.gitlab-ci.yml
CHANGED
File without changes
|
data/Gemfile
CHANGED
File without changes
|
data/LICENSE.txt
CHANGED
File without changes
|
data/README.md
CHANGED
File without changes
|
data/Rakefile
CHANGED
File without changes
|
data/docs/_config.yml
CHANGED
File without changes
|
data/docs/annotations.md
CHANGED
File without changes
|
data/docs/getting-started.md
CHANGED
File without changes
|
File without changes
|
data/docs/index.md
CHANGED
File without changes
|
data/docs/main-idea.md
CHANGED
File without changes
|
data/docs/openapi.md
CHANGED
File without changes
|
data/docs/type-definition.md
CHANGED
@@ -82,14 +82,14 @@ In this case, `params[:radius].is_a? Float` returns `true`.
|
|
82
82
|
<a name="type-boolean"></a>
|
83
83
|
### Boolean
|
84
84
|
|
85
|
-
Accepts a
|
85
|
+
Accepts a boolean or a string, which represents a boolean (either `"true"` or `"false"`).
|
86
86
|
|
87
87
|
Example:
|
88
88
|
```ruby
|
89
|
-
query_param :
|
89
|
+
query_param :published, Boolean, "Indicate if a blog post is published"
|
90
90
|
```
|
91
91
|
|
92
|
-
In this case, `params[:
|
92
|
+
In this case, `params[:published].is_a?(TrueClass) || params[:published].is_a?(FalseClass)` returns `true`.
|
93
93
|
|
94
94
|
|
95
95
|
<a name="type-uuid"></a>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module RailsParamValidation
|
2
2
|
|
3
3
|
class OpenApiMetaConfig
|
4
|
-
attr_accessor :title, :version, :url, :description
|
4
|
+
attr_accessor :title, :version, :url, :description, :file_path
|
5
5
|
|
6
6
|
def initialize
|
7
7
|
app_class = Rails.application.class
|
@@ -10,6 +10,7 @@ module RailsParamValidation
|
|
10
10
|
self.title = app_name(app_class)
|
11
11
|
self.version = '1.0'
|
12
12
|
self.description = "#{app_name(app_class)} application"
|
13
|
+
self.file_path = Rails.root.join("openapi.yaml").to_s
|
13
14
|
end
|
14
15
|
|
15
16
|
private
|
File without changes
|
File without changes
|
File without changes
|
@@ -38,9 +38,7 @@ module RailsParamValidation
|
|
38
38
|
|
39
39
|
if result.matches?
|
40
40
|
# Copy the parameters if the validation succeeded
|
41
|
-
@validated_parameters =
|
42
|
-
result.value.merge(action: action, controller: controller)
|
43
|
-
)
|
41
|
+
@validated_parameters = result.value.merge(action: action, controller: controller)
|
44
42
|
else
|
45
43
|
# Render an appropriate error message
|
46
44
|
_render_invalid_param_response result
|
File without changes
|
File without changes
|
File without changes
|
@@ -16,15 +16,17 @@ module RailsParamValidation
|
|
16
16
|
railtie_name :param_validation
|
17
17
|
|
18
18
|
initializer 'rails_param_validation.action_controller_extension' do
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
19
|
+
ActiveSupport.on_load(:action_controller) do
|
20
|
+
ActionController::Base.send :include, ActionControllerExtension
|
21
|
+
ActionController::Base.send :include, AnnotationExtension
|
22
|
+
ActionController::Base.send :include, CustomTypesExtension
|
23
|
+
ActionController::Base.send :extend, RailsParamValidation::Types
|
24
|
+
|
25
|
+
ActionController::API.send :include, ActionControllerExtension
|
26
|
+
ActionController::API.send :include, AnnotationExtension
|
27
|
+
ActionController::API.send :include, CustomTypesExtension
|
28
|
+
ActionController::API.send :extend, RailsParamValidation::Types
|
29
|
+
end
|
28
30
|
end
|
29
31
|
|
30
32
|
rake_tasks do
|
@@ -1,6 +1,6 @@
|
|
1
1
|
namespace :openapi do
|
2
2
|
|
3
|
-
desc "Export OpenAPI definition to
|
3
|
+
desc "Export OpenAPI definition to openapi.yaml"
|
4
4
|
task export: :environment do
|
5
5
|
# Ensure all controllers are loaded
|
6
6
|
if defined? Zeitwerk
|
@@ -18,7 +18,7 @@ namespace :openapi do
|
|
18
18
|
RailsParamValidation.openapi.description
|
19
19
|
)
|
20
20
|
|
21
|
-
filename =
|
21
|
+
filename = RailsParamValidation.openapi.file_path
|
22
22
|
print "Writing #{filename}..."
|
23
23
|
|
24
24
|
begin
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-param-validation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oskar Kirmis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Declarative parameter definition and validation for Rails
|
14
14
|
email:
|
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '0'
|
95
95
|
requirements: []
|
96
|
-
rubygems_version: 3.0.
|
96
|
+
rubygems_version: 3.0.2
|
97
97
|
signing_key:
|
98
98
|
specification_version: 4
|
99
99
|
summary: Declarative parameter definition and validation for Rails
|