İçeriğe geç

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.

app/models/order.rb
class Order < ApplicationRecord
after_commit { OrderService::CreateOrderInSap.call(self) }
end
app/services/order_service/place_order.rb
class OrderService::PlaceOrder
def call(order)
order.save!
OrderService::CreateOrderInSap.call(order)
end
end