rails-param-validation 0.4.1 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) 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/bin/.keep +0 -0
  9. data/docs/_config.yml +0 -0
  10. data/docs/annotations.md +0 -0
  11. data/docs/getting-started.md +0 -0
  12. data/docs/image/error-screenshot.png +0 -0
  13. data/docs/index.md +0 -0
  14. data/docs/main-idea.md +0 -0
  15. data/docs/openapi.md +0 -0
  16. data/docs/type-definition.md +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 -0
  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 +3 -1
  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 +8 -9
  32. data/lib/rails-param-validation/rails/tasks/openapi.rake +0 -0
  33. data/lib/rails-param-validation/types/types.rb +1 -1
  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 +1 -6
  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/lib/rails-param-validation.rb +0 -0
  53. data/rails-param-validation.gemspec +0 -0
  54. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 430b5d7c83e83717e20bd96b20961fb51e617e74bb634ee356fdfaf67af9b66f
4
- data.tar.gz: e615c6d36cc776b3c2fe8056dd4aa49cc2916a5c591ce06d5b7cccc0c0a56a7d
3
+ metadata.gz: ee538fffc925cb6a1c60304d98c741b7bc5e2397e6144e3dc67a05249c94cf06
4
+ data.tar.gz: 76d69f62b3cc38cdbd84018c110e7c80e5ac94889338bd18aaf9b078c10912b8
5
5
  SHA512:
6
- metadata.gz: 87f12c586949c487bb699b6bfe7e0acd52d5a486c15fe6f2dd0e20d17d16ac725249be3fb0ace47553d5df8460bbba763a870193f2f960ed857dba2ceab1d75f
7
- data.tar.gz: 01122bc9d7041b99168647219d5b7d8896677b1c3d6cbe394e2e67d3c641f4766a32bea25fcb4f175112ebc89128ba14345f715bba58a7f5181bddf2480722b7
6
+ metadata.gz: 6279e2439b9d4065be253fba5c2d5a7604631808b844c1f1c0f5339709442ba4eb088ad18492271d353dd4a03055e2860faaf1ebd17ce2922334beb479ef6f95
7
+ data.tar.gz: 672919b2153bb4e3409f9dadbe3a6696f3c9d6f48c3fd9f982064d50f07ed614b3b5c4b0ef5aa7eb5a2a5b76297877d22d89431d1b263cc083a87132b5928ef7
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/bin/.keep CHANGED
File without changes
data/docs/_config.yml CHANGED
File without changes
data/docs/annotations.md CHANGED
File without changes
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
File without changes
File without changes
@@ -31,6 +31,7 @@ module RailsParamValidation
31
31
  attr_accessor :default_body_content_type
32
32
  attr_accessor :default_action_flags
33
33
  attr_accessor :post_action_definition_hook
34
+ attr_accessor :auto_include_in_classes
34
35
  attr_reader :openapi
35
36
 
36
37
  def initialize
@@ -41,6 +42,7 @@ module RailsParamValidation
41
42
  @default_body_content_type = 'application/json'
42
43
  @default_action_flags = {}
43
44
  @post_action_definition_hook = ->(_action_definition) {}
45
+ @auto_include_in_classes = %w[ActionController::Base ActionController::API]
44
46
  end
45
47
  end
46
48
 
@@ -6,6 +6,8 @@ module RailsParamValidation
6
6
 
7
7
  # The before_action function called which does the actual work
8
8
  def auto_validate_params!
9
+ @validated_parameters = nil
10
+
9
11
  # @type [ActionDefinition] definition
10
12
  definition = RailsParamValidation::AnnotationManager.instance.method_annotation self.class.name, action_name.to_sym, :param_definition
11
13
 
@@ -38,7 +40,7 @@ module RailsParamValidation
38
40
 
39
41
  if result.matches?
40
42
  # Copy the parameters if the validation succeeded
41
- @validated_parameters = result.value.merge('action' => action, 'controller' => controller)
43
+ @validated_parameters = result.value.merge(action: action, controller: controller)
42
44
  else
43
45
  # Render an appropriate error message
44
46
  _render_invalid_param_response result
File without changes
File without changes
@@ -17,15 +17,14 @@ module RailsParamValidation
17
17
 
18
18
  initializer 'rails_param_validation.action_controller_extension' do
19
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
20
+ RailsParamValidation.config.auto_include_in_classes.each do |klass_name|
21
+ klass = klass_name.constantize
22
+
23
+ klass.send :include, ActionControllerExtension
24
+ klass.send :include, AnnotationExtension
25
+ klass.send :include, CustomTypesExtension
26
+ klass.send :extend, RailsParamValidation::Types
27
+ end
29
28
  end
30
29
  end
31
30
 
File without changes
@@ -2,7 +2,7 @@ module RailsParamValidation
2
2
 
3
3
  def self.register(type, schema)
4
4
  AnnotationTypes::CustomT.register(
5
- Namespace.with_namespace(Namespace.fetch(Namespace.caller_file), type),
5
+ Types::Namespace.with_namespace(Types::Namespace.fetch(Types::Namespace.caller_file), type),
6
6
  schema
7
7
  )
8
8
  end
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -6,11 +6,6 @@ module RailsParamValidation
6
6
  end
7
7
 
8
8
  def matches?(path, data)
9
- if schema.schema.is_a? NilClass
10
- puts path
11
- puts schema.inspect
12
- end
13
-
14
9
  ValidatorFactory.create(schema.schema).matches? path, data
15
10
  end
16
11
 
@@ -29,4 +24,4 @@ module RailsParamValidation
29
24
  end
30
25
  end
31
26
 
32
- end
27
+ end
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
@@ -1,3 +1,3 @@
1
1
  module RailsParamValidation
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.4"
3
3
  end
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.4.1
4
+ version: 0.4.4
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-08-04 00:00:00.000000000 Z
11
+ date: 2022-04-07 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.1.2
96
+ rubygems_version: 3.3.7
97
97
  signing_key:
98
98
  specification_version: 4
99
99
  summary: Declarative parameter definition and validation for Rails