public function compose($view)
 {
     $nearby = Cache::remember('nearbyMissions', 60, function () {
         $nearby['past'] = Mission::past()->take(3)->get();
         $nearby['future'] = Mission::future()->take(3)->get();
         return $nearby;
     });
     $view->with('nearbyMissions', ['past' => $nearby['past'], 'future' => $nearby['future']]);
 }
 /**
  * GET, /missions/past. Shows all past missions in a list.
  *
  * @return \Illuminate\View\View
  */
 public function allPastMissions()
 {
     JavaScript::put(['missions' => Mission::past(true)->with(['vehicle', 'destination'])->get()->map(function ($mission) {
         $transformedMission = $mission->toArray();
         $transformedMission['launch_date_time'] = $mission->present()->launchDateTime();
         $transformedMission['generic_vehicle'] = $mission->vehicle->generic_vehicle;
         $transformedMission['generic_vehicle_count'] = ordinal($mission->generic_vehicle_count);
         $transformedMission['launch_of_year'] = ordinal($mission->launch_of_year);
         $transformedMission['successful_consecutive_launch'] = ordinal($mission->successful_consecutive_launch);
         $transformedMission['launch_site'] = $mission->launchSite->full_location;
         $transformedMission['featured_image_url'] = $mission->present()->featuredImageUrl();
         return $transformedMission;
     })]);
     return view('missions.past');
 }
 /**
  * @param $substatistic
  * @return int
  */
 public static function turnarounds($substatistic)
 {
     if ($substatistic == 'Quickest') {
         $lowestTurnaround = null;
         $missions = Mission::past()->get()->keyBy('launch_order_id');
         $missions->each(function ($mission, $key) use($missions, &$lowestTurnaround) {
             if ($key == 1) {
                 return null;
             }
             $turnaround = Carbon::parse($mission->launch_exact)->diffInSeconds(Carbon::parse($missions->get($key - 1)->launch_exact));
             $lowestTurnaround = $lowestTurnaround == null ? $turnaround : min($lowestTurnaround, $turnaround);
         });
         return $lowestTurnaround;
     } else {
         if ($substatistic == 'Since Last Launch') {
             return Mission::past()->first()->launch_date_time;
         } else {
             if ($substatistic == 'Over Time') {
             }
         }
     }
 }