ask-tools 0.6.4 → 0.6.5
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 +4 -4
- data/lib/ask/tools/tool.rb +9 -5
- data/lib/ask/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b414584c8eeedacbbd320097317db32031983c6c74910547faab89c7307826b5
|
|
4
|
+
data.tar.gz: 5b0989567a07f031faf78355e9fd66bed1ad85d9fcb14de87bda6ef9375045a5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 94f56e8144c783545ff6627e02bf7e31254001f58b2939fe17186a7c5292149ffd38b6cc6bf4a2d0e7e873f53216459561b1f1152e46ca739faebd133710d1a5
|
|
7
|
+
data.tar.gz: 57df72e810fa464103039a247dfc040b47f5d6dadbcfb59f4a9d20e5fc710306ebbbd27443b654cc786e9154b5904792194fd81df0b5d8775dbc98eeadeed6ce
|
data/lib/ask/tools/tool.rb
CHANGED
|
@@ -86,12 +86,12 @@ module Ask
|
|
|
86
86
|
end
|
|
87
87
|
end
|
|
88
88
|
|
|
89
|
-
def param(name, type:, desc: nil, description: nil, required: true)
|
|
89
|
+
def param(name, type:, desc: nil, description: nil, required: true, enum: nil)
|
|
90
90
|
type = type.to_s.downcase.to_sym
|
|
91
91
|
validate_param_type!(type, name)
|
|
92
92
|
parameters[name] = Parameter.new(
|
|
93
93
|
name: name, type: map_type(type),
|
|
94
|
-
description: desc || description, required: required
|
|
94
|
+
description: desc || description, required: required, enum: enum
|
|
95
95
|
)
|
|
96
96
|
end
|
|
97
97
|
|
|
@@ -148,6 +148,7 @@ module Ask
|
|
|
148
148
|
schema = { type: param.type }
|
|
149
149
|
schema[:description] = param.description if param.description
|
|
150
150
|
schema[:items] = { type: "string" } if param.type == "array"
|
|
151
|
+
schema[:enum] = param.enum if param.enum
|
|
151
152
|
[param.name.to_s, schema]
|
|
152
153
|
end
|
|
153
154
|
required = parameters.select { |_, p| p.required }.keys.map(&:to_s)
|
|
@@ -355,13 +356,16 @@ module Ask
|
|
|
355
356
|
VALID_JSON_SCHEMA_TYPES = %i[string integer number boolean array object].freeze
|
|
356
357
|
|
|
357
358
|
class Parameter
|
|
358
|
-
attr_reader :name, :type, :description, :required
|
|
359
|
+
attr_reader :name, :type, :description, :required, :enum
|
|
359
360
|
alias required? required
|
|
360
|
-
def initialize(name:, type:, description: nil, required: true)
|
|
361
|
+
def initialize(name:, type:, description: nil, required: true, enum: nil)
|
|
361
362
|
@name = name; @type = type; @description = description; @required = required
|
|
363
|
+
@enum = enum&.freeze
|
|
362
364
|
end
|
|
363
365
|
def to_h
|
|
364
|
-
{ name: name, type: type, description: description, required: required }
|
|
366
|
+
h = { name: name, type: type, description: description, required: required }
|
|
367
|
+
h[:enum] = enum if enum
|
|
368
|
+
h
|
|
365
369
|
end
|
|
366
370
|
end
|
|
367
371
|
end
|
data/lib/ask/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ask-tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kaka Ruto
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.
|
|
18
|
+
version: 0.12.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.
|
|
25
|
+
version: 0.12.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: ask-schema
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|