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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.gitlab-ci.yml +0 -0
  4. data/Gemfile +0 -0
  5. data/LICENSE.txt +0 -0
  6. data/README.md +0 -0
  7. data/Rakefile +0 -0
  8. data/docs/_config.yml +0 -0
  9. data/docs/annotations.md +0 -0
  10. data/docs/getting-started.md +0 -0
  11. data/docs/image/error-screenshot.png +0 -0
  12. data/docs/index.md +0 -0
  13. data/docs/main-idea.md +0 -0
  14. data/docs/openapi.md +0 -0
  15. data/docs/type-definition.md +3 -3
  16. data/lib/rails-param-validation.rb +0 -0
  17. data/lib/rails-param-validation/errors/missing_parameter_annotation.rb +0 -0
  18. data/lib/rails-param-validation/errors/no_matching_factory.rb +0 -0
  19. data/lib/rails-param-validation/errors/param_validation_failed_error.rb +0 -0
  20. data/lib/rails-param-validation/errors/type_not_found.rb +0 -0
  21. data/lib/rails-param-validation/rails/action_definition.rb +0 -0
  22. data/lib/rails-param-validation/rails/annotation_manager.rb +0 -0
  23. data/lib/rails-param-validation/rails/config.rb +2 -1
  24. data/lib/rails-param-validation/rails/extensions/annotation_extension.rb +0 -0
  25. data/lib/rails-param-validation/rails/extensions/custom_type_extension.rb +0 -0
  26. data/lib/rails-param-validation/rails/extensions/error.template.html.erb +0 -0
  27. data/lib/rails-param-validation/rails/extensions/validation_extension.rb +1 -3
  28. data/lib/rails-param-validation/rails/helper.rb +0 -0
  29. data/lib/rails-param-validation/rails/openapi/openapi.rb +0 -0
  30. data/lib/rails-param-validation/rails/openapi/routing_helper.rb +0 -0
  31. data/lib/rails-param-validation/rails/rails.rb +11 -9
  32. data/lib/rails-param-validation/rails/tasks/openapi.rake +2 -2
  33. data/lib/rails-param-validation/types/types.rb +0 -0
  34. data/lib/rails-param-validation/validator.rb +0 -0
  35. data/lib/rails-param-validation/validator_factory.rb +0 -0
  36. data/lib/rails-param-validation/validators/alternatives.rb +0 -0
  37. data/lib/rails-param-validation/validators/array.rb +0 -0
  38. data/lib/rails-param-validation/validators/boolean.rb +0 -0
  39. data/lib/rails-param-validation/validators/constant.rb +0 -0
  40. data/lib/rails-param-validation/validators/custom_type.rb +0 -0
  41. data/lib/rails-param-validation/validators/date.rb +0 -0
  42. data/lib/rails-param-validation/validators/datetime.rb +0 -0
  43. data/lib/rails-param-validation/validators/float.rb +0 -0
  44. data/lib/rails-param-validation/validators/hash.rb +0 -0
  45. data/lib/rails-param-validation/validators/integer.rb +0 -0
  46. data/lib/rails-param-validation/validators/object.rb +0 -0
  47. data/lib/rails-param-validation/validators/optional.rb +0 -0
  48. data/lib/rails-param-validation/validators/regex.rb +0 -0
  49. data/lib/rails-param-validation/validators/string.rb +0 -0
  50. data/lib/rails-param-validation/validators/uuid.rb +0 -0
  51. data/lib/rails-param-validation/version.rb +1 -1
  52. data/rails-param-validation.gemspec +0 -0
  53. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b29564381a128aaceb53b5099cd568cc4cc805545341903fabdde48dfbe54154
4
- data.tar.gz: 8374f3dad8e614244d4b2170f8eb218bcc1baf70d965d584d3bc3ce0610c2c0f
3
+ metadata.gz: b4a98d65517bb634880f15f8646ee1645a60c00a962c7c604df80c9ead49404f
4
+ data.tar.gz: 7e755c2e7011fa1c848c1f4cf59ca93232a8829ba081c11b859707e652ed3a9f
5
5
  SHA512:
6
- metadata.gz: 0dd8afd3ab0c862392cad28163f1001394c4ee028dea4acd98ce1dfa48c14cf48d0a5a2ddcdb7dd38f941dd5009aac88b5ccc29f9ff55add900b1ca4b0a63111
7
- data.tar.gz: b09a6e69a242dca2fff49df1a11cf3379d53ed0d10aa241c9d2657e1b052889ce93e40013ee15d614841bdd3b69b7ce9d13fd808608cdce9aa90b872cedb5942
6
+ metadata.gz: ceb39335b93f488396532b5317a7cc48ddd633e795417bb30b4c628f790778864024ce83e67affb2a4e91713b9e8f2f8336bdfb3d4998714fbf3ca1df6112518
7
+ data.tar.gz: 811e141a19bcafadc2a0270620ad844ae104249b45dd9581b0d083694b48874914dba256a304842a4d60fbbc5316ab7013a35027c693166b04ce2c07caeb39e4
data/.gitignore CHANGED
File without changes
File without changes
data/Gemfile CHANGED
File without changes
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -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 float or a string, which represents a boolean (either `"true"` or `"false"`).
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 :radius, Float, "Search radius"
89
+ query_param :published, Boolean, "Indicate if a blog post is published"
90
90
  ```
91
91
 
92
- In this case, `params[:radius].is_a? Float` returns `true`.
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
@@ -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
@@ -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 = ActiveSupport::HashWithIndifferentAccess.new(
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
@@ -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
- ActionController::Base.send :include, ActionControllerExtension
20
- ActionController::Base.send :include, AnnotationExtension
21
- ActionController::Base.send :include, CustomTypesExtension
22
- ActionController::Base.send :extend, RailsParamValidation::Types
23
-
24
- ActionController::API.send :include, ActionControllerExtension
25
- ActionController::API.send :include, AnnotationExtension
26
- ActionController::API.send :include, CustomTypesExtension
27
- ActionController::API.send :extend, RailsParamValidation::Types
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 to openapi.yaml"
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 = Rails.root.join("openapi.yaml").to_s
21
+ filename = RailsParamValidation.openapi.file_path
22
22
  print "Writing #{filename}..."
23
23
 
24
24
  begin
File without changes
File without changes
@@ -1,3 +1,3 @@
1
1
  module RailsParamValidation
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
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.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-06-20 00:00:00.000000000 Z
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.1
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