Class: Legion::API
- Inherits:
-
Sinatra::Base
- Object
- Sinatra::Base
- Legion::API
- Defined in:
- lib/legion/api.rb,
lib/legion/api/acp.rb,
lib/legion/api/llm.rb,
lib/legion/api/auth.rb,
lib/legion/api/gaia.rb,
lib/legion/api/logs.rb,
lib/legion/api/mesh.rb,
lib/legion/api/rbac.rb,
lib/legion/api/audit.rb,
lib/legion/api/costs.rb,
lib/legion/api/nodes.rb,
lib/legion/api/stats.rb,
lib/legion/api/tasks.rb,
lib/legion/api/token.rb,
lib/legion/api/apollo.rb,
lib/legion/api/chains.rb,
lib/legion/api/events.rb,
lib/legion/api/router.rb,
lib/legion/api/skills.rb,
lib/legion/api/traces.rb,
lib/legion/api/catalog.rb,
lib/legion/api/codegen.rb,
lib/legion/api/graphql.rb,
lib/legion/api/helpers.rb,
lib/legion/api/metrics.rb,
lib/legion/api/openapi.rb,
lib/legion/api/prompts.rb,
lib/legion/api/tenants.rb,
lib/legion/api/workers.rb,
lib/legion/api/capacity.rb,
lib/legion/api/metering.rb,
lib/legion/api/settings.rb,
lib/legion/api/webhooks.rb,
lib/legion/api/workflow.rb,
lib/legion/api/absorbers.rb,
lib/legion/api/auth_saml.rb,
lib/legion/api/coldstart.rb,
lib/legion/api/knowledge.rb,
lib/legion/api/org_chart.rb,
lib/legion/api/schedules.rb,
lib/legion/api/transport.rb,
lib/legion/api/auth_human.rb,
lib/legion/api/auth_teams.rb,
lib/legion/api/extensions.rb,
lib/legion/api/governance.rb,
lib/legion/api/validators.rb,
lib/legion/api/auth_worker.rb,
lib/legion/api/marketplace.rb,
lib/legion/api/lex_dispatch.rb,
lib/legion/api/tbi_patterns.rb,
lib/legion/api/relationships.rb,
lib/legion/api/sync_dispatch.rb,
lib/legion/api/graphql/schema.rb,
lib/legion/api/identity_audit.rb,
lib/legion/api/library_routes.rb,
lib/legion/api/middleware/auth.rb,
lib/legion/api/default_settings.rb,
lib/legion/api/inbound_webhooks.rb,
lib/legion/api/middleware/tenant.rb,
lib/legion/api/middleware/body_limit.rb,
lib/legion/api/middleware/rate_limit.rb,
lib/legion/api/graphql/resolvers/node.rb,
lib/legion/api/middleware/api_version.rb,
lib/legion/api/graphql/resolvers/tasks.rb,
lib/legion/api/graphql/types/node_type.rb,
lib/legion/api/graphql/types/task_type.rb,
lib/legion/api/graphql/types/query_type.rb,
lib/legion/api/graphql/resolvers/workers.rb,
lib/legion/api/graphql/types/base_object.rb,
lib/legion/api/graphql/types/worker_type.rb,
lib/legion/api/middleware/request_logger.rb,
lib/legion/api/graphql/resolvers/extensions.rb,
lib/legion/api/graphql/types/extension_type.rb
Defined Under Namespace
Modules: GraphQL, Helpers, Middleware, OpenAPI, Routes, Settings, SyncDispatch, Token, Validators Classes: Router
Class Method Summary collapse
- .mount_library_routes(gem_name, fallback_module, preferred_constant_path) ⇒ Object
-
.register_library_routes(gem_name, routes_module) ⇒ Object
Register a library gem’s route module with the tier-aware router and mount it on this Sinatra app.
- .router ⇒ Object
Class Method Details
.mount_library_routes(gem_name, fallback_module, preferred_constant_path) ⇒ Object
156 157 158 159 160 161 162 163 164 165 |
# File 'lib/legion/api.rb', line 156 def mount_library_routes(gem_name, fallback_module, preferred_constant_path) preferred = constant_from_path(preferred_constant_path) if preferred.is_a?(Module) register_library_routes(gem_name, preferred) elsif router.library_names.include?(gem_name) register_library_routes(gem_name, router.library_routes.fetch(gem_name)) else register fallback_module end end |
.register_library_routes(gem_name, routes_module) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/legion/api/library_routes.rb', line 13 def self.register_library_routes(gem_name, routes_module) existing = router.library_routes[gem_name.to_s] return routes_module if existing == routes_module router.register_library(gem_name, routes_module) register routes_module end |