0
軽減する方法:リファクタリングと私は、次のコードを持つ複雑
@model = "ford"
@attribute = "name"
def grouped
grouped = {}
@array.each do |r|
field = r.car.send(@model)
if field.is_a? ActiveRecord::Associations::CollectionProxy
field.each do |obj|
key = obj.send(@attribute)
grouped[key] = [] unless grouped.has_key?(key)
grouped[key].push(r)
end
else
key = field.send(@attribute)
grouped[key] = [] unless grouped.has_key?(key)
grouped[key].push(r)
end
end
grouped
end
結果はを:
{ford: [a, b, c]}
codeclimateは、それが認知の複雑さを持っていることを言います。
このメソッドをどのようにリファクタリングしてクリーナーにすることができますか?
作業コードは、https://codereview.stackexchange.com/に適しています。 –
「@配列」とは何か、それはどこから来たのですか?私はスコープの使用を検討し、可能であればActiveRecordでいくつかのリフティングを行います。 –
codereview.stackexchange.com – mmichael