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