Files
l5y 0fbff32535 web: refactor 2/7 federation (#773)
* 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.
2026-05-02 22:12:20 +02:00

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"