Architecture contract (ARCH6204)
Anahtar ruby.architecture.contract · Önem error · Kategori architecture
Katman yönüne, vertical slice sınırına ya da projenin kendi mimari kurallarına aykırı bir sabit referansını işaretler: packs/, components/, engines/, features/ ya da slices/ altındaki kodun başka bir slice’ın davranışını (örnek metotlu sınıf - değerleri, sabitleri ve struct’ları serbest) kullanması; controller kullanan servis ya da model; servis, repository ya da query nesnesi kullanan model; ya da Proje ayarları > Tarama’daki bir kuralın yasakladığı her bağımlılık. Sabitler dosyalara Rails (Zeitwerk) adlandırma kuralıyla, Ruby’nin aradığı sırayla eşlenir; katman ve slice’lar klasörlerden okunur, sınıf adlarından değil.
Yanlış
Bölüm başlığı “Yanlış”class Order < ApplicationRecord after_commit { OrderService::CreateOrderInSap.call(self) }endclass OrderService::PlaceOrder def call(order) order.save! OrderService::CreateOrderInSap.call(order) endend