class KPM::PluginsManager
def update_fs(plugin_name_or_path, plugin_version=nil, &block)
def update_fs(plugin_name_or_path, plugin_version=nil, &block) if plugin_name_or_path.nil? @logger.warn('Unable to update the filesystem: no name or path specified') return end p = plugin_version.nil? ? plugin_name_or_path : @plugins_dir.join('*').join(plugin_name_or_path).join(plugin_version == :all ? '*' : plugin_version) modified = [] Dir.glob(p).each do |plugin_dir_path| plugin_dir = Pathname.new(plugin_dir_path) tmp_dir = plugin_dir.join('tmp') FileUtils.mkdir_p(tmp_dir) yield(tmp_dir) if block_given? modified << plugin_dir end if modified.empty? if plugin_version.nil? @logger.warn("No plugin found with name #{plugin_name_or_path}. Installed plugins: #{Dir.glob(@plugins_dir.join('*').join('*'))}") else @logger.warn("No plugin found with name #{plugin_name_or_path} and version #{plugin_version}. Installed plugins: #{Dir.glob(@plugins_dir.join('*').join('*').join('*'))}") end end modified end