Class: Kosmos::PostProcessors::ModuleManagerResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/kosmos/post_processors/module_manager_resolver.rb

Class Method Summary collapse

Class Method Details

.post_process(ksp_path) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/kosmos/post_processors/module_manager_resolver.rb', line 4

def self.post_process(ksp_path)
  game_data = File.join(ksp_path, 'GameData')

  module_managers = Dir[File.join(game_data, '*')].select do |file|
    File.basename(file).start_with?('ModuleManager')
  end

  most_recent_manager = module_managers.max_by do |file|
    # Converts a string like this:
    #
    #   ModuleManager.5.2.3
    #
    # Into this:
    #
    #   [5, 2, 3]
    File.basename(file).scan(/\d+/).map(&:to_i)
  end

  (module_managers - [most_recent_manager]).each do |file|
    Util.log "Detected and deleting outdated version of ModuleManager: #{file}"

    File.delete(file)
  end
end