json_schemer-rails 0.2.1 → 0.3.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: af5445cb33d06b18e3c7ec42d5f0bb3f4433fa8e29c02dbef15172db16af5e9d
|
|
4
|
+
data.tar.gz: 4ec577c0e591f567a692f59a886296ed427ea3a2391ce82980943333d61bdb75
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5832076aa9cfe94d16a520e4cebb078015ef04b7ed239174d80c3a8e0f964532fe0739a907aaae63808c8c311dbbc898d1bf50d33181daccac22fa42c271fb7e
|
|
7
|
+
data.tar.gz: b5b98efcfa4c69860b6c464134647cc03778bb9ad54c793be4e440cff84d1cfd666bc6977b80b46ec56c3bb0bb2338d83ea94dbcf2c5c18e5b0cd2ed4268a94c
|
|
@@ -5,7 +5,7 @@ module JsonSchemer
|
|
|
5
5
|
# Mixin for controllers.
|
|
6
6
|
# usage:
|
|
7
7
|
# include JsonSchemer::Rails::Controller
|
|
8
|
-
#
|
|
8
|
+
# before_action :validate_from_openapi
|
|
9
9
|
module Controller
|
|
10
10
|
def validate_from_openapi
|
|
11
11
|
# This is going to cast any parameters to their specified types
|
|
@@ -8,12 +8,13 @@ module JsonSchemer
|
|
|
8
8
|
module Rails
|
|
9
9
|
# This validates a request against the OpenAPI specification
|
|
10
10
|
class OpenApiValidator
|
|
11
|
-
def initialize(request, open_api_filename: "openapi.yml")
|
|
11
|
+
def initialize(request, open_api_filename: "openapi.yml", ref_resolver: nil)
|
|
12
12
|
@request = request
|
|
13
13
|
@open_api_filename = open_api_filename
|
|
14
|
+
@ref_resolver = ref_resolver
|
|
14
15
|
end
|
|
15
16
|
|
|
16
|
-
attr_reader :request
|
|
17
|
+
attr_reader :request, :ref_resolver
|
|
17
18
|
|
|
18
19
|
def validate_body
|
|
19
20
|
return unless should_validate_body?
|
|
@@ -63,7 +64,11 @@ module JsonSchemer
|
|
|
63
64
|
end
|
|
64
65
|
|
|
65
66
|
def document
|
|
66
|
-
@document ||= JSONSchemer.openapi(open_api_struct)
|
|
67
|
+
@document ||= JSONSchemer.openapi(open_api_struct, **options)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def options
|
|
71
|
+
{ ref_resolver: }.compact
|
|
67
72
|
end
|
|
68
73
|
|
|
69
74
|
def open_api_struct
|