Class: Cadenya::Resources::Tools
- Inherits:
-
Object
- Object
- Cadenya::Resources::Tools
- Defined in:
- lib/cadenya/resources/tools.rb
Instance Method Summary collapse
-
#create(tool_set_id, metadata:, spec:, workspace_id: nil, request_options: nil) ⇒ Object
Create a new tool.
-
#delete(tool_set_id, id, workspace_id: nil, request_options: nil) ⇒ Object
Delete a tool.
-
#initialize(core) ⇒ Tools
constructor
A new instance of Tools.
-
#list(tool_set_id, workspace_id: nil, limit: nil, cursor: nil, prefix: nil, query: nil, names: nil, states: nil, requires_approval: nil, overlays: nil, labels: nil, sort_order: nil, include_info: nil, request_options: nil) ⇒ Object
List tools.
-
#omit(tool_set_id, id, workspace_id: nil, request_options: nil) ⇒ Object
Omit a tool.
-
#restore(tool_set_id, id, workspace_id: nil, request_options: nil) ⇒ Object
Restore a tool.
-
#retrieve(tool_set_id, id, workspace_id: nil, request_options: nil) ⇒ Object
Get a tool by ID.
-
#update(tool_set_id, id, workspace_id: nil, metadata: nil, spec: nil, update_mask: nil, request_options: nil) ⇒ Object
Update a tool.
Constructor Details
#initialize(core) ⇒ Tools
Returns a new instance of Tools.
8 9 10 |
# File 'lib/cadenya/resources/tools.rb', line 8 def initialize(core) @core = core end |
Instance Method Details
#create(tool_set_id, metadata:, spec:, workspace_id: nil, request_options: nil) ⇒ Object
Create a new tool
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/cadenya/resources/tools.rb', line 41 def create(tool_set_id, metadata:, spec:, workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/tool_sets/#{Util.path_param('toolSetId', tool_set_id)}/tools" _body = { "metadata" => .nil? ? nil : (->(_v) { Types.encode_CreateResourceMetadata(_v) }).call(), "spec" => spec.nil? ? nil : (->(_v) { Types.encode_ToolSpec(_v) }).call(spec), }.reject { |_k, v| v.nil? } _data = @core.request(:post, _path, body: _body, request_options: ) Types::Tool.from_json(_data) end |
#delete(tool_set_id, id, workspace_id: nil, request_options: nil) ⇒ Object
Delete a tool
61 62 63 64 65 66 |
# File 'lib/cadenya/resources/tools.rb', line 61 def delete(tool_set_id, id, workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/tool_sets/#{Util.path_param('toolSetId', tool_set_id)}/tools/#{Util.path_param('id', id)}" @core.request(:delete, _path, expects_body: false, request_options: ) nil end |
#list(tool_set_id, workspace_id: nil, limit: nil, cursor: nil, prefix: nil, query: nil, names: nil, states: nil, requires_approval: nil, overlays: nil, labels: nil, sort_order: nil, include_info: nil, request_options: nil) ⇒ Object
List tools
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/cadenya/resources/tools.rb', line 13 def list(tool_set_id, workspace_id: nil, limit: nil, cursor: nil, prefix: nil, query: nil, names: nil, states: nil, requires_approval: nil, overlays: nil, labels: nil, sort_order: nil, include_info: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/tool_sets/#{Util.path_param('toolSetId', tool_set_id)}/tools" names = names.dup if names.is_a?(Array) states = states.dup if states.is_a?(Array) = .dup if .is_a?(Array) _query = { "limit" => limit, "cursor" => cursor, "prefix" => prefix, "query" => query, "names" => names, "states" => states, "requiresApproval" => requires_approval, "overlays" => , "labels" => labels, "sortOrder" => sort_order, "includeInfo" => include_info, } _data = @core.request(:get, _path, query: _query, request_options: ) || {} _items = (_data["items"] || []).map { |item| Types::Tool.from_json(item) } _next_cursor = (((_data)["pagination"] || {}))["nextCursor"].to_s Page.new(_items, _next_cursor) do |_c| list(tool_set_id, workspace_id: workspace_id, limit: limit, cursor: _c, prefix: prefix, query: query, names: names, states: states, requires_approval: requires_approval, overlays: , labels: labels, sort_order: sort_order, include_info: include_info, request_options: ) end end |
#omit(tool_set_id, id, workspace_id: nil, request_options: nil) ⇒ Object
Omit a tool
82 83 84 85 86 87 |
# File 'lib/cadenya/resources/tools.rb', line 82 def omit(tool_set_id, id, workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/tool_sets/#{Util.path_param('toolSetId', tool_set_id)}/tools/#{Util.path_param('id', id)}:omit" _data = @core.request(:post, _path, request_options: ) Types::Tool.from_json(_data) end |
#restore(tool_set_id, id, workspace_id: nil, request_options: nil) ⇒ Object
Restore a tool
90 91 92 93 94 95 |
# File 'lib/cadenya/resources/tools.rb', line 90 def restore(tool_set_id, id, workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/tool_sets/#{Util.path_param('toolSetId', tool_set_id)}/tools/#{Util.path_param('id', id)}:restore" _data = @core.request(:post, _path, request_options: ) Types::Tool.from_json(_data) end |
#retrieve(tool_set_id, id, workspace_id: nil, request_options: nil) ⇒ Object
Get a tool by ID
53 54 55 56 57 58 |
# File 'lib/cadenya/resources/tools.rb', line 53 def retrieve(tool_set_id, id, workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/tool_sets/#{Util.path_param('toolSetId', tool_set_id)}/tools/#{Util.path_param('id', id)}" _data = @core.request(:get, _path, request_options: ) Types::Tool.from_json(_data) end |
#update(tool_set_id, id, workspace_id: nil, metadata: nil, spec: nil, update_mask: nil, request_options: nil) ⇒ Object
Update a tool
69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/cadenya/resources/tools.rb', line 69 def update(tool_set_id, id, workspace_id: nil, metadata: nil, spec: nil, update_mask: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/tool_sets/#{Util.path_param('toolSetId', tool_set_id)}/tools/#{Util.path_param('id', id)}" _body = { "metadata" => .nil? ? nil : (->(_v) { Types.encode_UpdateResourceMetadata(_v) }).call(), "spec" => spec.nil? ? nil : (->(_v) { Types.encode_ToolSpec(_v) }).call(spec), "updateMask" => update_mask, }.reject { |_k, v| v.nil? } _data = @core.request(:patch, _path, body: _body, request_options: ) Types::Tool.from_json(_data) end |