0

私は現在、CodeSchool (Rails 4 Patterns) からコードをより適切にカプセル化するためのいくつかのベスト プラクティスと方法を研究しています。

モデルのすべてのビュー関連ロジック (フォーマットなど) を提供する非アクティブ レコード モデルにビュー固有のロジックを移動する「モデル デコレータ」の使用に出くわしました。これは、単一責任の原則とも一致します。

上記を前提として、Railsscopeをレポートのクエリのみに使用した場合、SRP 違反と見なされますか?

例えば

class Sales < ActiveRecord::Base
  scope :sales_per_day, -> { group(:sale_date).sum(:total_sale) }
end

これは単なるレポートの例であるため、例に問題があると思われるものは無視してください。そのスコープは、おそらくレポートを処理するデコレータ モデルであるデコレータ モデルに移動できる SRP の違反と見なされますか? または、どのような場合でも、スコープが SRP に違反することはありません。

編集:私の実際の質問に合うように質問と例を言い換えました。

4

1 に答える 1