rails-param-validation 0.4.6 → 0.4.9

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 +0 -0
  24. data/lib/rails-param-validation/rails/extensions/annotation_extension.rb +1 -1
  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 +0 -0
  28. data/lib/rails-param-validation/rails/helper.rb +0 -0
  29. data/lib/rails-param-validation/rails/openapi/openapi.rb +1 -13
  30. data/lib/rails-param-validation/rails/openapi/routing_helper.rb +0 -0
  31. data/lib/rails-param-validation/rails/rails.rb +0 -0
  32. data/lib/rails-param-validation/rails/tasks/openapi.rake +0 -0
  33. data/lib/rails-param-validation/types/types.rb +10 -4
  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/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: 45f982e8976d083082c29971f2b4deef210958452f473836f9436a1af1826636
4
- data.tar.gz: 72ddb69843370c35b464b2aedb15ea65f377b86302c3f4e47ab4ea0226f13d38
3
+ metadata.gz: 159abe7b80c564e22c8558d37cf678e893af6438bf0953a777508e83710da3d3
4
+ data.tar.gz: 6bae6fef3bd27f3c8f6ecfd04b6177e38857e2f3a4d97355451d9035eab3190c
5
5
  SHA512:
6
- metadata.gz: ed86c39b631c509f08e16f1f1fd054255ade51d98ff5ec10bc16c94a5deebd4ee1d01c07a9f7cfa5a3d15c5be1d1eab91a9460888cd8c5ab39010e62ed888e42
7
- data.tar.gz: c500dd124663f480ce19832e3d7d766318b0b0be5c55a0f38ed71ebdae786a752a8b94fa3fb052a16e87542d103763546def758f968b21cee928371d3e6e2100
6
+ metadata.gz: 25ce91f9ebd0d83ced27a2c01a74b1103e6a6559d53f0166cc20a9b81e731c72746b04b8f86cbfccf4153815605220a5f6f13f7d19bea0a90c3dd9e979ca4b12
7
+ data.tar.gz: c9a0e8e46a114d6b636c0e5f302f8cff2a0bbe7a1c89cfbe9e366d2ac6244e29d053f0fd5ee3778b0d3f1db51625ac597f32bce907cfde71baf4f6d8e1a3e6c9
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
File without changes
@@ -23,7 +23,7 @@ module RailsParamValidation
23
23
 
24
24
  @param_definition.store_origin! class_name, method_name
25
25
  RailsParamValidation.config.post_action_definition_hook.call(@param_definition)
26
- @param_definition.finalize! class_name, method_name, (@base_paths || {}).fetch(self.name, self.name.gsub(/Controller$/, "").underscore)
26
+ @param_definition.finalize! class_name, method_name, (@base_paths || {}).fetch(self.name, self.name.underscore)
27
27
 
28
28
  AnnotationManager.instance.annotate_method! self, name, :param_definition, @param_definition
29
29
  @param_definition = nil
File without changes
@@ -67,19 +67,7 @@ module RailsParamValidation
67
67
  end.to_h
68
68
  }
69
69
 
70
- param_documentation = operation
71
- .params
72
- .filter { |_, v| v[:description].present? }
73
- .map { |name, param| "* `#{name}`<br />#{param[:description]}" }
74
- .join("\n\n")
75
-
76
- if param_documentation.present?
77
- param_documentation = "**Parameters**\n#{param_documentation}"
78
- end
79
-
80
- if param_documentation.present? || operation.description.present?
81
- action_definition.merge!(description: "#{operation.description}\n\n#{param_documentation}".strip)
82
- end
70
+ action_definition.merge!(summary: operation.description) if operation.description.present?
83
71
 
84
72
  if body.any?
85
73
  body_type_name = Types::Namespace.with_namespace(
File without changes
File without changes
@@ -43,14 +43,18 @@ class OptionalT < AnnotationT
43
43
  end
44
44
 
45
45
  class CustomT < AnnotationT
46
- attr_reader :type
46
+ attr_reader :type, :from
47
47
 
48
- def initialize(type)
48
+ def initialize(type, from: :name)
49
49
  @type = type
50
+ @from = from
50
51
  end
51
52
 
52
53
  def schema
53
- CustomT.registry[@type]
54
+ schema = CustomT.registry[@type]
55
+ schema = CustomT.registry[@type] = schema.call if schema.is_a?(Proc)
56
+
57
+ schema
54
58
  end
55
59
 
56
60
  def self.register(type, schema)
@@ -59,7 +63,7 @@ class CustomT < AnnotationT
59
63
 
60
64
  def self.registered(type)
61
65
  raise TypeNotFound.new(type) unless registry.key? type
62
- registry[type]
66
+ registry[type].is_a?(Proc) ? registry[type].call : registry[type]
63
67
  end
64
68
 
65
69
  def self.types
@@ -72,6 +76,8 @@ class CustomT < AnnotationT
72
76
  @@types ||= {}
73
77
  end
74
78
  end
79
+
80
+ CustomType = CustomT
75
81
  end
76
82
 
77
83
  module Types
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
@@ -1,3 +1,3 @@
1
1
  module RailsParamValidation
2
- VERSION = "0.4.6"
2
+ VERSION = "0.4.9"
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.6
4
+ version: 0.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oskar Kirmis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-19 00:00:00.000000000 Z
11
+ date: 2022-04-22 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.3.11
96
+ rubygems_version: 3.3.12
97
97
  signing_key:
98
98
  specification_version: 4
99
99
  summary: Declarative parameter definition and validation for Rails