A class Event
has methods
def event_revenues
event_sales.sum(&:sales_price)
end
def event_costs
event_sales.sum(&:sales_cost)
end
def event_contributions
event_revenues - event_costs
end
and an attribute start_date
.
How does one devise a method that cumulates all the event_contributions for events with start_date
on or before self.start_date
?
Solution can be like
def event_contributions(something)
relation = Event
relation = relation.where('start_date < ?', something) if something
relation.select('sum(sales_price - sales_cost) AS contribution').sum(&:contribution)
end