New cyclic dependency between modules (ARCH6205)
Key ruby.architecture.new-dependency · Severity warning · Category architecture
Merge requests only. Flags a constant reference that makes one folder depend on another which, on the default branch, already depends on it (directly or within three steps): the two now depend on each other. Folders most of the codebase depends on, and a folder with its own parent or child, are not counted.
Incorrect
Section titled “Incorrect”# app/services/billing/invoice_builder.rb - on the default branch app/services/shipping already uses Billingclass Billing::InvoiceBuilder def call(order) = Shipping::ParcelTracker.new.status(order)endCorrect
Section titled “Correct”class Billing::InvoiceBuilder def call(order, shipment_status:) = shipment_status.for(order)end