I'm working on a plain Ruby class within a Rails application.
total_leg_count method---is that the best way to go about achieving what I want? I feel like there's potentially a better way.
class AircraftTimeReport ... def total_leg_count count = 0 active_flights_within_timeframe.includes(:legs).each do |flight| count += flight.legs.size end count end private def active_flights_within_timeframe @aircraft.flights.within_timeframe(from_datetime, to_datetime).not_cancelled end end report = AircraftTimeReport.new(@aircraft) puts report.total_leg_count
has_many Flights and a Flight
has_many Legs and a Leg
belongs_to a Flight.
I've seen other solutions that use Arel or plain SQL but I can't seem to wrap my head around it.
Also, I'm finding it difficult to unit test this method, which is why I'm wondering if there's a better way!