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
  versions = entries.select do |e|
    e != "SET_DEFAULT"
  end.inject([]) do |out, e|
    is_disabled = File.exists?(plugin_path.join(e).join('tmp').join('disabled.txt'))
    out << {:version => e, :is_default => default_version == e, :is_disabled => is_disabled, :sha1 => nil};
    out
  end
  versions.sort! { |a, b| a[:version] <=> b[:version] }
  plugin_map[:versions] = versions || []
  plugin_map
end