mirror of
https://github.com/l5yth/potato-mesh.git
synced 2026-07-06 01:42:11 +02:00
0fbff32535
* web: refactor 2/7 federation * web: close federation coverage gaps and apply review nits Address Codecov patch coverage feedback by adding rspec examples for the 51 lines flagged across the new federation shards (announce, crawl, validation, http_client, self_instance, instance_metrics, announcer_threads, lifecycle, signature). Per-shard line coverage in the federation directory is now 100%. Apply two review-comment changes: rename the awkwardly-named http_client_get.rb to instance_fetcher.rb (matching its semantic role rather than the HTTP verb), and declare PotatoMesh::App::Federation explicitly in the federation.rb manifest so the namespace is owned by this file rather than implicitly created by whichever shard happens to load first.
40 lines
1.4 KiB
Ruby
40 lines
1.4 KiB
Ruby
# Copyright © 2025-26 l5yth & contributors
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# frozen_string_literal: true
|
|
|
|
# Federation manifest: declare the namespace explicitly so that loading a
|
|
# single shard out of order cannot silently create the module via reopen
|
|
# semantics, and so the parent constant is owned by this file.
|
|
module PotatoMesh
|
|
module App
|
|
module Federation
|
|
end
|
|
end
|
|
end
|
|
|
|
require_relative "federation/lifecycle"
|
|
require_relative "federation/instance_metrics"
|
|
require_relative "federation/signature"
|
|
require_relative "federation/peers"
|
|
require_relative "federation/http_client"
|
|
require_relative "federation/instance_fetcher"
|
|
require_relative "federation/validation"
|
|
require_relative "federation/instance_records"
|
|
require_relative "federation/self_instance"
|
|
require_relative "federation/announce"
|
|
require_relative "federation/announcer_threads"
|
|
require_relative "federation/crawl_state"
|
|
require_relative "federation/crawl"
|