module WarpEngine::AdminApi::Registry
The resources and operations of the Admin API, built once from the Definitions modules.
Public Instance Methods
Source
# File lib/warp_engine/admin_api/registry.rb, line 51 def build builder = Builder.new definitions.each { |definition| definition.define(builder) } builder.resources end
Runs every definition against a new Builder and returns the resources it collected.
Source
# File lib/warp_engine/admin_api/registry.rb, line 8 def definitions [ Definitions::Meta, Definitions::Catalog, Definitions::Vocabulary, Definitions::Statistics, Definitions::Pipelines, Definitions::Files, Definitions::Tokens ] end
The Definitions modules, in the order their resources are listed.
Source
# File lib/warp_engine/admin_api/registry.rb, line 36 def find(key) operations.find { |operation| operation.key == key.to_s } end
The Operation whose Operation#key is key ("softwares.list"), or nil.
Source
# File lib/warp_engine/admin_api/registry.rb, line 41 def find_tool(name) operations.find { |operation| operation.tool_name == name.to_s } end
The Operation whose MCP tool name is name, or nil.
Source
# File lib/warp_engine/admin_api/registry.rb, line 26 def operations resources.flat_map(&:operations) end
Source
# File lib/warp_engine/admin_api/registry.rb, line 46 def reset! @resources = nil end
Forgets the built resources so the next call builds them again.
Source
# File lib/warp_engine/admin_api/registry.rb, line 31 def resource(name) resources.find { |resource| resource.name == name.to_sym } end
The Resource named name, or nil.
Source
# File lib/warp_engine/admin_api/registry.rb, line 21 def resources @resources ||= build end
Every Resource, built on first use and memoized.