weak_swagger_parameters 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/weak_swagger_parameters.rb +1 -0
- data/lib/weak_swagger_parameters/definitions.rb +2 -3
- data/lib/weak_swagger_parameters/definitions/body.rb +8 -18
- data/lib/weak_swagger_parameters/definitions/hash_property.rb +11 -0
- data/lib/weak_swagger_parameters/definitions/leaf_definition.rb +14 -0
- data/lib/weak_swagger_parameters/definitions/model.rb +4 -0
- data/lib/weak_swagger_parameters/definitions/model_property.rb +11 -0
- data/lib/weak_swagger_parameters/definitions/parameter.rb +18 -0
- data/lib/weak_swagger_parameters/definitions/path.rb +10 -4
- data/lib/weak_swagger_parameters/definitions/property.rb +5 -41
- data/lib/weak_swagger_parameters/definitions/property_container.rb +6 -6
- data/lib/weak_swagger_parameters/definitions/query.rb +2 -2
- data/lib/weak_swagger_parameters/model.rb +6 -2
- data/lib/weak_swagger_parameters/services.rb +3 -0
- data/lib/weak_swagger_parameters/services/swagger_options_adapter.rb +65 -0
- data/lib/weak_swagger_parameters/services/weak_parameters_options_adapter.rb +27 -0
- data/lib/weak_swagger_parameters/version.rb +1 -1
- metadata +8 -6
- data/lib/weak_swagger_parameters/definitions/path_params/integer.rb +0 -30
- data/lib/weak_swagger_parameters/definitions/path_params/string.rb +0 -30
- data/lib/weak_swagger_parameters/definitions/query_params/string.rb +0 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df79ed08bcdb90cad48b9466283861b1cfd61199
|
4
|
+
data.tar.gz: cdbb4a90317df9dcf9695fee1f2a5ec9de516900
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8899fb0b89164feceb4fe573dae3447774ba98bbab12ea4dc9b434dfa6866d0e9db8f55995ba1e37f4131a63ee90391721a8ec1915e3d3e07e3f8fe343d6a533
|
7
|
+
data.tar.gz: 0507ae0fdadc9294c8c90eef106e3c2b8065d2103b1f149fb2fdfcf72244044d2cffd735261eec289a489c93d8557ce05f59e671e3b08d2e0b07aefd29f495bc
|
@@ -1,12 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require 'weak_swagger_parameters/definitions/
|
3
|
-
require 'weak_swagger_parameters/definitions/path_params/string'
|
4
|
-
require 'weak_swagger_parameters/definitions/query_params/string'
|
2
|
+
require 'weak_swagger_parameters/definitions/leaf_definition'
|
5
3
|
require 'weak_swagger_parameters/definitions/param_container'
|
6
4
|
require 'weak_swagger_parameters/definitions/property_container'
|
7
5
|
require 'weak_swagger_parameters/definitions/hash_property'
|
8
6
|
require 'weak_swagger_parameters/definitions/collection_property'
|
9
7
|
require 'weak_swagger_parameters/definitions/model_property'
|
8
|
+
require 'weak_swagger_parameters/definitions/parameter'
|
10
9
|
require 'weak_swagger_parameters/definitions/property'
|
11
10
|
require 'weak_swagger_parameters/definitions/collection_ref'
|
12
11
|
require 'weak_swagger_parameters/definitions/hash_ref'
|
@@ -1,31 +1,21 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
module WeakSwaggerParameters
|
3
3
|
module Definitions
|
4
|
-
class Body
|
5
|
-
|
6
|
-
@required_fields = []
|
7
|
-
super
|
8
|
-
end
|
4
|
+
class Body
|
5
|
+
include WeakSwaggerParameters::Definitions::PropertyContainer
|
9
6
|
|
10
|
-
def
|
11
|
-
|
12
|
-
@child_definitions << WeakSwaggerParameters::Definitions::Property.new(:string, name, description, options)
|
13
|
-
end
|
14
|
-
|
15
|
-
def boolean(name, description, options = {})
|
16
|
-
@required_fields << name if options.try(:[], :required)
|
17
|
-
@child_definitions << WeakSwaggerParameters::Definitions::Property.new(:boolean, name, description, options)
|
7
|
+
def initialize(&block)
|
8
|
+
instance_eval(&block) if block.present?
|
18
9
|
end
|
19
10
|
|
20
|
-
def
|
21
|
-
|
22
|
-
@child_definitions << WeakSwaggerParameters::Definitions::Property.new(:integer, name, description, options)
|
11
|
+
def apply_validations(parent_node)
|
12
|
+
child_definitions.each { |definition| definition.apply_validations(parent_node) }
|
23
13
|
end
|
24
14
|
|
25
15
|
def apply_docs(parent_node)
|
26
|
-
param_definitions =
|
16
|
+
param_definitions = child_definitions
|
27
17
|
schema_options = {}
|
28
|
-
schema_options[:required] =
|
18
|
+
schema_options[:required] = required_fields unless required_fields.empty?
|
29
19
|
|
30
20
|
parent_node.instance_eval do
|
31
21
|
parameter name: :body, in: :body, required: true do
|
@@ -11,6 +11,17 @@ module WeakSwaggerParameters
|
|
11
11
|
instance_eval(&block) if block.present?
|
12
12
|
end
|
13
13
|
|
14
|
+
def apply_validations(parent_node)
|
15
|
+
name = @name
|
16
|
+
param_definitions = child_definitions
|
17
|
+
|
18
|
+
parent_node.instance_eval do
|
19
|
+
hash name, strong: true do
|
20
|
+
param_definitions.each { |definition| definition.apply_validations(parent_node) }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
14
25
|
def apply_docs(parent_node)
|
15
26
|
name = @name
|
16
27
|
description = @description
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module WeakSwaggerParameters
|
3
|
+
module Definitions
|
4
|
+
module LeafDefinition
|
5
|
+
def apply_validations(parent_node)
|
6
|
+
type = @options[:type]
|
7
|
+
name = @options[:name]
|
8
|
+
|
9
|
+
validation_options = WeakSwaggerParameters::Services::WeakParametersOptionsAdapter.adapt(@options)
|
10
|
+
parent_node.instance_eval { send type, name, validation_options }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -10,6 +10,10 @@ module WeakSwaggerParameters
|
|
10
10
|
instance_eval(&block) if block.present?
|
11
11
|
end
|
12
12
|
|
13
|
+
def apply_validations(parent_node)
|
14
|
+
child_definitions.each { |definition| definition.apply_validations(parent_node) }
|
15
|
+
end
|
16
|
+
|
13
17
|
def apply_docs(parent_node)
|
14
18
|
model_name = @model_name
|
15
19
|
definitions = child_definitions
|
@@ -8,6 +8,17 @@ module WeakSwaggerParameters
|
|
8
8
|
@model_class = model_class
|
9
9
|
end
|
10
10
|
|
11
|
+
def apply_validations(parent_node)
|
12
|
+
name = @name
|
13
|
+
node = @model_class.wsp_node
|
14
|
+
|
15
|
+
parent_node.instance_eval do
|
16
|
+
hash name, strong: true do
|
17
|
+
node.apply_validations(parent_node)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
11
22
|
def apply_docs(parent_node)
|
12
23
|
name = @name
|
13
24
|
description = @description
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module WeakSwaggerParameters
|
3
|
+
module Definitions
|
4
|
+
class Parameter
|
5
|
+
include WeakSwaggerParameters::Definitions::LeafDefinition
|
6
|
+
|
7
|
+
def initialize(location, type, name, description, options = {})
|
8
|
+
@options = options.merge(location: location, type: type, name: name, description: description)
|
9
|
+
end
|
10
|
+
|
11
|
+
def apply_docs(parent_node)
|
12
|
+
parameter_options = WeakSwaggerParameters::Services::SwaggerOptionsAdapter.adapt(@options)
|
13
|
+
|
14
|
+
parent_node.instance_eval { parameter parameter_options }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -2,12 +2,18 @@
|
|
2
2
|
module WeakSwaggerParameters
|
3
3
|
module Definitions
|
4
4
|
class Path < ParamContainer
|
5
|
-
def string(name, description)
|
6
|
-
|
5
|
+
def string(name, description, options = {})
|
6
|
+
register_definition(:string, name, description, options)
|
7
7
|
end
|
8
8
|
|
9
|
-
def integer(name, description)
|
10
|
-
|
9
|
+
def integer(name, description, options = {})
|
10
|
+
register_definition(:integer, name, description, options)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def register_definition(type, name, description, options)
|
16
|
+
@child_definitions << WeakSwaggerParameters::Definitions::Parameter.new(:path, type, name, description, options)
|
11
17
|
end
|
12
18
|
end
|
13
19
|
end
|
@@ -2,54 +2,18 @@
|
|
2
2
|
module WeakSwaggerParameters
|
3
3
|
module Definitions
|
4
4
|
class Property
|
5
|
-
|
6
|
-
@type = type
|
7
|
-
@name = name
|
8
|
-
@description = description
|
9
|
-
@options = options || {}
|
10
|
-
end
|
5
|
+
include WeakSwaggerParameters::Definitions::LeafDefinition
|
11
6
|
|
12
|
-
def
|
13
|
-
|
14
|
-
name = @name
|
15
|
-
validation_options = {}
|
16
|
-
validation_options[:strong] = true
|
17
|
-
validation_options[:required] = @options.key?(:required)
|
18
|
-
validation_options[:only] = @options[:enum] if @options.key?(:enum)
|
19
|
-
|
20
|
-
parent_node.instance_eval { send type, name, validation_options }
|
7
|
+
def initialize(type, name, description, options = {})
|
8
|
+
@options = options.merge(name: name, type: type, description: description)
|
21
9
|
end
|
22
10
|
|
23
11
|
def apply_docs(parent_node)
|
24
|
-
name = @name
|
25
|
-
property_options =
|
26
|
-
property_options[:default] = @options[:default] if @options.key?(:default)
|
27
|
-
property_options[:enum] = @options[:enum] if @options.key?(:enum)
|
28
|
-
property_options.merge!(swagger_type_options)
|
12
|
+
name = @options[:name]
|
13
|
+
property_options = WeakSwaggerParameters::Services::SwaggerOptionsAdapter.adapt(@options.except(:name, :required))
|
29
14
|
|
30
15
|
parent_node.instance_eval { property name, property_options }
|
31
16
|
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
# rubocop:disable MethodLength
|
36
|
-
def swagger_type_options
|
37
|
-
known_types = {
|
38
|
-
integer: { type: :integer, format: :int32 },
|
39
|
-
long: { type: :integer, format: :int64 },
|
40
|
-
float: { type: :number, format: :float },
|
41
|
-
double: { type: :number, format: :double },
|
42
|
-
string: { type: :string },
|
43
|
-
byte: { type: :string, format: :byte },
|
44
|
-
binary: { type: :string, format: :binary },
|
45
|
-
boolean: { type: :boolean },
|
46
|
-
date: { type: :string, format: :date },
|
47
|
-
dateTime: { type: :string, format: :'date-time' },
|
48
|
-
password: { type: :string, format: :password }
|
49
|
-
}
|
50
|
-
|
51
|
-
known_types[@type]
|
52
|
-
end
|
53
17
|
end
|
54
18
|
end
|
55
19
|
end
|
@@ -7,27 +7,27 @@ module WeakSwaggerParameters
|
|
7
7
|
# rubocop:disable Metrics/BlockLength
|
8
8
|
included do
|
9
9
|
def string(name, description, options = {})
|
10
|
-
register_definition
|
10
|
+
register_definition(name, options, WeakSwaggerParameters::Definitions::Property.new(:string, name, description, options))
|
11
11
|
end
|
12
12
|
|
13
13
|
def boolean(name, description, options = {})
|
14
|
-
register_definition
|
14
|
+
register_definition(name, options, WeakSwaggerParameters::Definitions::Property.new(:boolean, name, description, options))
|
15
15
|
end
|
16
16
|
|
17
17
|
def integer(name, description, options = {})
|
18
|
-
register_definition
|
18
|
+
register_definition(name, options, WeakSwaggerParameters::Definitions::Property.new(:integer, name, description, options))
|
19
19
|
end
|
20
20
|
|
21
21
|
def hash(name, description, options = {}, &block)
|
22
|
-
register_definition
|
22
|
+
register_definition(name, options, WeakSwaggerParameters::Definitions::HashProperty.new(name, description, &block))
|
23
23
|
end
|
24
24
|
|
25
25
|
def model(name, description, model_class, options = {})
|
26
|
-
register_definition
|
26
|
+
register_definition(name, options, WeakSwaggerParameters::Definitions::ModelProperty.new(name, description, model_class))
|
27
27
|
end
|
28
28
|
|
29
29
|
def collection(name, description, model_class, options = {})
|
30
|
-
register_definition
|
30
|
+
register_definition(name, options, WeakSwaggerParameters::Definitions::CollectionProperty.new(name, description, model_class))
|
31
31
|
end
|
32
32
|
|
33
33
|
private
|
@@ -2,8 +2,8 @@
|
|
2
2
|
module WeakSwaggerParameters
|
3
3
|
module Definitions
|
4
4
|
class Query < ParamContainer
|
5
|
-
def string(name, description)
|
6
|
-
@child_definitions << WeakSwaggerParameters::Definitions::
|
5
|
+
def string(name, description, options = {})
|
6
|
+
@child_definitions << WeakSwaggerParameters::Definitions::Parameter.new(:query, :string, name, description, options)
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
@@ -14,8 +14,12 @@ module WeakSwaggerParameters
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def model(&block)
|
17
|
-
|
18
|
-
|
17
|
+
@wsp_node = WeakSwaggerParameters::Definitions::Model.new(docs_model_name, &block)
|
18
|
+
@wsp_node.apply_docs(self)
|
19
|
+
end
|
20
|
+
|
21
|
+
def wsp_node
|
22
|
+
@wsp_node
|
19
23
|
end
|
20
24
|
|
21
25
|
def docs_model_name
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module WeakSwaggerParameters
|
3
|
+
module Services
|
4
|
+
class SwaggerOptionsAdapter
|
5
|
+
KNOWN_TYPES = {
|
6
|
+
integer: { type: :integer, format: :int32 },
|
7
|
+
long: { type: :integer, format: :int64 },
|
8
|
+
float: { type: :number, format: :float },
|
9
|
+
double: { type: :number, format: :double },
|
10
|
+
string: { type: :string },
|
11
|
+
byte: { type: :string, format: :byte },
|
12
|
+
binary: { type: :string, format: :binary },
|
13
|
+
boolean: { type: :boolean },
|
14
|
+
date: { type: :string, format: :date },
|
15
|
+
dateTime: { type: :string, format: :'date-time' },
|
16
|
+
password: { type: :string, format: :password }
|
17
|
+
}.freeze
|
18
|
+
|
19
|
+
def self.adapt(options)
|
20
|
+
result = {}
|
21
|
+
result = result.merge(about_options(options))
|
22
|
+
result = result.merge(enum_options(options))
|
23
|
+
result = result.merge(default_options(options))
|
24
|
+
result = result.merge(type_options(options))
|
25
|
+
result = result.merge(required_options(options))
|
26
|
+
result = result.merge(range_options(options))
|
27
|
+
result
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.type_options(options)
|
31
|
+
KNOWN_TYPES[options[:type]]
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.about_options(options)
|
35
|
+
result = {}
|
36
|
+
result = result.merge(name: options[:name]) if options[:name].present?
|
37
|
+
result = result.merge(description: options[:description]) if options[:description].present?
|
38
|
+
result = result.merge(in: options[:location]) if options[:location].present?
|
39
|
+
result
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.required_options(options)
|
43
|
+
result = {}
|
44
|
+
result = result.merge(required: true) if options[:location] == :path
|
45
|
+
result = result.merge(required: options[:required]) if options[:required]
|
46
|
+
result
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.range_options(options)
|
50
|
+
result = {}
|
51
|
+
result = result.merge(minimum: options[:min]) if options[:min].present?
|
52
|
+
result = result.merge(maximum: options[:max]) if options[:max].present?
|
53
|
+
result
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.default_options(options)
|
57
|
+
options[:default].present? ? { default: options[:default] } : {}
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.enum_options(options)
|
61
|
+
options[:enum].present? ? { enum: options[:enum] } : {}
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module WeakSwaggerParameters
|
3
|
+
module Services
|
4
|
+
class WeakParametersOptionsAdapter
|
5
|
+
MAX_VALUE = (2**(0.size * 8 - 2) - 1)
|
6
|
+
MIN_VALUE = -(2**(0.size * 8 - 2))
|
7
|
+
|
8
|
+
def self.adapt(options)
|
9
|
+
result = {}
|
10
|
+
result[:strong] = true
|
11
|
+
result[:required] = options[:required]
|
12
|
+
result[:only] = options[:enum] if options[:enum].present?
|
13
|
+
result = result.merge(range_options(options))
|
14
|
+
|
15
|
+
result
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.range_options(options)
|
19
|
+
return {} unless options.key?(:min) || options.key?(:max)
|
20
|
+
|
21
|
+
max = options[:max] || MAX_VALUE
|
22
|
+
min = options[:min] || MIN_VALUE
|
23
|
+
{ only: min...max }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weak_swagger_parameters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AgileFreaks
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -190,20 +190,22 @@ files:
|
|
190
190
|
- lib/weak_swagger_parameters/definitions/collection_ref.rb
|
191
191
|
- lib/weak_swagger_parameters/definitions/hash_property.rb
|
192
192
|
- lib/weak_swagger_parameters/definitions/hash_ref.rb
|
193
|
+
- lib/weak_swagger_parameters/definitions/leaf_definition.rb
|
193
194
|
- lib/weak_swagger_parameters/definitions/model.rb
|
194
195
|
- lib/weak_swagger_parameters/definitions/model_property.rb
|
195
196
|
- lib/weak_swagger_parameters/definitions/model_ref.rb
|
196
197
|
- lib/weak_swagger_parameters/definitions/param_container.rb
|
198
|
+
- lib/weak_swagger_parameters/definitions/parameter.rb
|
197
199
|
- lib/weak_swagger_parameters/definitions/params.rb
|
198
200
|
- lib/weak_swagger_parameters/definitions/path.rb
|
199
|
-
- lib/weak_swagger_parameters/definitions/path_params/integer.rb
|
200
|
-
- lib/weak_swagger_parameters/definitions/path_params/string.rb
|
201
201
|
- lib/weak_swagger_parameters/definitions/property.rb
|
202
202
|
- lib/weak_swagger_parameters/definitions/property_container.rb
|
203
203
|
- lib/weak_swagger_parameters/definitions/query.rb
|
204
|
-
- lib/weak_swagger_parameters/definitions/query_params/string.rb
|
205
204
|
- lib/weak_swagger_parameters/definitions/response.rb
|
206
205
|
- lib/weak_swagger_parameters/model.rb
|
206
|
+
- lib/weak_swagger_parameters/services.rb
|
207
|
+
- lib/weak_swagger_parameters/services/swagger_options_adapter.rb
|
208
|
+
- lib/weak_swagger_parameters/services/weak_parameters_options_adapter.rb
|
207
209
|
- lib/weak_swagger_parameters/version.rb
|
208
210
|
- weak_swagger_parameters.gemspec
|
209
211
|
homepage: https://github.com/Agilefreaks/weak_swagger_parameters
|
@@ -226,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
228
|
version: '0'
|
227
229
|
requirements: []
|
228
230
|
rubyforge_project:
|
229
|
-
rubygems_version: 2.5.1
|
231
|
+
rubygems_version: 2.4.5.1
|
230
232
|
signing_key:
|
231
233
|
specification_version: 4
|
232
234
|
summary: Generate docs and Validate request parameters
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module WeakSwaggerParameters
|
3
|
-
module Definitions
|
4
|
-
module PathParams
|
5
|
-
class Integer
|
6
|
-
def initialize(name, description)
|
7
|
-
@name = name
|
8
|
-
@description = description
|
9
|
-
end
|
10
|
-
|
11
|
-
def apply_validations(parent_node)
|
12
|
-
name = @name
|
13
|
-
|
14
|
-
parent_node.instance_eval do
|
15
|
-
integer name, strong: true
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def apply_docs(parent_node)
|
20
|
-
name = @name
|
21
|
-
description = @description
|
22
|
-
|
23
|
-
parent_node.instance_eval do
|
24
|
-
parameter name: name, in: :path, required: true, description: description, type: :integer, format: :int32
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module WeakSwaggerParameters
|
3
|
-
module Definitions
|
4
|
-
module PathParams
|
5
|
-
class String
|
6
|
-
def initialize(name, description)
|
7
|
-
@name = name
|
8
|
-
@description = description
|
9
|
-
end
|
10
|
-
|
11
|
-
def apply_validations(parent_node)
|
12
|
-
name = @name
|
13
|
-
|
14
|
-
parent_node.instance_eval do
|
15
|
-
string name, strong: true
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def apply_docs(parent_node)
|
20
|
-
name = @name
|
21
|
-
description = @description
|
22
|
-
|
23
|
-
parent_node.instance_eval do
|
24
|
-
parameter name: name, in: :path, required: true, description: description, type: :string
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module WeakSwaggerParameters
|
3
|
-
module Definitions
|
4
|
-
module QueryParams
|
5
|
-
class String
|
6
|
-
def initialize(name, description)
|
7
|
-
@name = name
|
8
|
-
@description = description
|
9
|
-
end
|
10
|
-
|
11
|
-
def apply_validations(parent_node)
|
12
|
-
name = @name
|
13
|
-
|
14
|
-
parent_node.instance_eval do
|
15
|
-
string name, strong: true
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def apply_docs(parent_node)
|
20
|
-
name = @name
|
21
|
-
description = @description
|
22
|
-
|
23
|
-
parent_node.instance_eval do
|
24
|
-
parameter name: name, type: :string, in: :query, description: description
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|