class KPM::Inspector

def build_plugin_map(plugin_name, plugin_path, type)

def build_plugin_map(plugin_name, plugin_path, type)
  plugin_map = { plugin_name: plugin_name, plugin_path: plugin_path.to_s, type: type }
  entries = get_entries(plugin_path)
  set_default = entries.select { |e| e == 'SET_DEFAULT' }[0]
  default_version = File.basename(File.readlink(plugin_path.join(set_default))) if set_default
  non_default = entries.reject do |e|
    e == 'SET_DEFAULT'
  end
  versions = non_default.each_with_object([]) do |e, out|
    is_disabled = File.exist?(plugin_path.join(e).join('tmp').join('disabled.txt'))
    out << { version: e, is_default: default_version == e, is_disabled: is_disabled, sha1: nil }
  end
  versions.sort! { |a, b| a[:version] <=> b[:version] }
  plugin_map[:versions] = versions || []
  plugin_map
end