Порядок должен быть одинаковым каждый раз в конкретной ОС, однако отличается в разных операционных системах.
На поведение или Dir.glob нельзя полагаться как нато же самое в разных ОС.Не уверен, что это так, а скорее как артефакт файловых систем.
В Windows и Linux результаты сортируются по иерархии, а затем по алфавиту;В Mac OS X результаты сортируются в алфавитном порядке.
Вы можете смягчить эффект, вызвав сортировку своих результатов, например:
files = Dir.glob("./*").sort
или, если вы хотите, чтобы регистр не учитывался, возможно:
files = Dir.glob("./*").sort {|a,b| a.upcase <=> b.upcase}