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