Привет, в принципе код неплох, можно лишь дать несколько общих советов
Короткие имена переменных - плохая привычка, даже если они сразу используются
Четко раздели публичные и приватные методы
В методе execute, results - не самое удачное имя переменной, потому что это только промежуточные результаты, сам результат строится в последнем цикле
Независимо от того, сам пишешь код, или в команде, всегда нужно стараться писать код так, как буд-то он пишется в команде. Например для функции track_points не помещает комментарием пример результирующего хеша, который она вернет. С ключами и значениями. Тот, кто будет читать этот код, сэкономит кучу времени
метод ranges_to_score хоть и слишком длинный по рубишным канонам, выглядит довольно целостным, единственное замечание - if track.base? || elevation <= SKYDIVE_RANGE в постусловии - злоупотребление сахаром. Этот if там почти не видно.
К этому методу также комментарием описал бы формат возвращаемого массива
Можешь еще глянуть мой цикл статей об ошибках новичков в rails -
c3gdlk.ru/blog/rails/ruby-on-rails-samye-rasprostr...
я его писал на основе комментариев, которые оставляю к коду моих падаванов.