Class: API::Base
Overview
Direct Known Subclasses
API, AccessRequests, Admin::BatchedBackgroundMigrations, Admin::BroadcastMessages, Admin::Ci::Variables, Admin::Dictionary, Admin::InstanceClusters, Admin::Migrations, Admin::PlanLimits, Admin::Sidekiq, Admin::Token, AlertManagementAlerts, Appearance, Applications, Avatar, AwardEmoji, Badges, Boards, Branches, BulkImports, CargoProjectPackages, Ci::Catalog, Ci::JobArtifacts, Ci::Jobs, Ci::PipelineSchedules, Ci::Pipelines, Ci::ResourceGroups, Ci::Runner, Ci::Runners, Ci::SecureFiles, Ci::Triggers, Ci::Variables, ClusterDiscovery, Clusters::AgentTokens, Clusters::Agents, CommitStatuses, Commits, ComposerPackages, Conan::V1::InstancePackages, Conan::V1::ProjectPackages, Conan::V2::ProjectPackages, ContainerRegistryEvent, ContainerRepositories, DebianGroupPackages, DebianProjectPackages, DependencyProxy, DeployKeys, DeployTokens, Deployments, Discussions, DraftNotes, Environments, Events, FeatureFlags, FeatureFlagsUserLists, Features, Files, FreezePeriods, GenericPackages, Geo, Glql, GoProxy, GroupAvatar, GroupBoards, GroupClusters, GroupContainerRepositories, GroupDebianDistributions, GroupExport, GroupImport, GroupLabels, GroupMilestones, GroupPackages, GroupPlaceholderReassignments, GroupVariables, Groups, HelmPackages, ImportBitbucket, ImportBitbucketServer, ImportGithub, Integrations, Integrations::JiraConnect::Subscriptions, Integrations::Slack::Events, Integrations::Slack::Interactions, Integrations::Slack::Options, Internal::AutoFlow, Internal::Base, Internal::Ci::JobRouter, Internal::Coverage, Internal::ErrorTracking, Internal::Kubernetes, Internal::Lfs, Internal::MailRoom, Internal::Pages, Internal::Shellhorse, Internal::Workhorse, Invitations, IssueLinks, Issues, Keys, Labels, Lint, Markdown, MarkdownUploads, MavenPackages, Mcp::Base, Members, MergeRequestApprovals, MergeRequestDiffs, MergeRequests, Metadata, Ml::Mlflow::Entrypoint, Ml::Mlflow::Experiments, Ml::Mlflow::ModelVersions, Ml::Mlflow::RegisteredModels, Ml::Mlflow::Runs, Ml::MlflowArtifacts::Artifacts, Ml::MlflowArtifacts::Entrypoint, MlModelPackages, Namespaces, Notes, NotificationSettings, NpmGroupPackages, NpmInstancePackages, NpmProjectPackages, NugetGroupPackages, NugetProjectPackages, OfflineTransfers, Organizations, PackageFiles, Pages, PagesDomains, PersonalAccessTokens, PersonalAccessTokens::SelfInformation, PersonalAccessTokens::SelfRotation, ProjectAvatar, ProjectClusters, ProjectContainerRegistryProtectionRules, ProjectContainerRegistryProtectionTagRules, ProjectContainerRepositories, ProjectDebianDistributions, ProjectEvents, ProjectExport, ProjectHooks, ProjectImport, ProjectJobTokenScope, ProjectMilestones, ProjectPackages, ProjectPackagesProtectionRules, ProjectRepositoryStorageMoves, ProjectSnapshots, ProjectSnippets, ProjectStatistics, ProjectTemplates, Projects, ProtectedBranches, ProtectedTags, PypiPackages, Release::Links, Releases, RemoteMirrors, Repositories, ResourceAccessTokens, ResourceAccessTokens::SelfRotation, ResourceLabelEvents, ResourceMilestoneEvents, ResourceStateEvents, RpmProjectPackages, RubygemPackages, Search, Settings, SidekiqMetrics, SnippetRepositoryStorageMoves, Snippets, Statistics, Submodules, Subscriptions, Suggestions, SupplyChain::Attestations, SystemHooks, Tags, Templates, Terraform::Modules::V1::NamespacePackages, Terraform::Modules::V1::ProjectPackages, Terraform::State, Terraform::StateVersion, Todos, Topics, Unleash, UsageData, UsageDataNonSqlMetrics, UsageDataQueries, UserCounts, UserRunners, Users, VsCode::Settings::VsCodeSettingsSync, WebCommits, Wikis, ErrorTracking::ClientKeys, ErrorTracking::ProjectSettings
Constant Summary
Gitlab::EndpointAttributes::DEFAULT_URGENCY
Class Method Summary
collapse
Class Method Details
.endpoint_id_for_route(route) ⇒ Object
20
21
22
|
# File 'lib/api/base.rb', line 20
def endpoint_id_for_route(route)
"#{route.request_method} #{route.origin}"
end
|
.feature_category_for_app(app) ⇒ Object
8
9
10
|
# File 'lib/api/base.rb', line 8
def feature_category_for_app(app)
feature_category_for_action(path_for_app(app))
end
|
.path_for_app(app) ⇒ Object
16
17
18
|
# File 'lib/api/base.rb', line 16
def path_for_app(app)
normalize_path(app.namespace, app.options[:path].first)
end
|
.route(methods, paths = ['/'], route_options = {}, &block) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/api/base.rb', line 24
def route(methods, paths = ['/'], route_options = {}, &block)
actions = Array(paths).map { |path| normalize_path(namespace, path) }
if category = route_options.delete(:feature_category)
feature_category(category, actions)
end
if target = route_options.delete(:urgency)
urgency(target, actions)
end
super
end
|
.urgency_for_app(app) ⇒ Object
12
13
14
|
# File 'lib/api/base.rb', line 12
def urgency_for_app(app)
urgency_for_action(path_for_app(app))
end
|