Есть ли что-нибудь, что обеспечивает возможность метапрограммирования has_aggregate?
Например, предположим, что у вас есть модель, которая предоставляет следующие методы:
class Customer < ActiveRecord::Base
has_many :orders
def total_orders
orders.count
end
def total_spent
orders.sum(:total_amount)
end
end
Есть лилюбая функция в ActiveRecord (или гем), которая позволила бы синтаксис, подобный этому?
class Customer < ActiveRecord::Base
has_many :orders
has_aggregate :total_orders, :orders, :count
has_aggregate :total_spent, :orders, :sum, :total_amount
end