Geo: Move carrierwave_uploader into UploadReplicatorBehavior
What does this MR do and why?
All 24 Geo replicators backed by an Upload (every upload-partition replicator
plus the legacy Geo::UploadReplicator) defined an identical
carrierwave_uploader:
def carrierwave_uploader
model_record.retrieve_uploader
endThey already include ::Geo::Concerns::UploadReplicatorBehavior, so this moves
the method there and removes it from each replicator. Because the concern is
included after BlobReplicatorStrategy, its carrierwave_uploader correctly
implements that strategy's abstract method.
The blob replicator generator is updated to match: the --upload-partition
flavor no longer emits carrierwave_uploader (the concern provides it), while
regular blobs still generate their own.
Verification
bundle exec rspec ee/spec/replicators/geo/(all replicator specs, which exercisecarrierwave_uploaderthrough the shared examples) plus both generator specs: green.- RuboCop clean on all changed files.
- No behavior change: the concern method is identical to what each replicator
defined, and it is included after
BlobReplicatorStrategy.
Part of the SSF boilerplate reduction in #589925 (closed) (epic &20933).