class PluginRepositoryScanner cattr_accessor :verbose cattr_accessor :last_plugin_found @@verbose = false @@last_plugin_found = nil def self.scan_all(uris) uris.each { |uri| self.scan_uri(uri) } end def self.scan_uri(uri, logger = nil) RemoteResources.repository_list(uri).each do |plugin| logger.info "* Found plugin #{plugin}" unless logger.nil? self.verbose_print("* Found plugin #{plugin}") self.last_plugin_found = plugin plugin_root = StringUtilities.normalise_url(uri) + plugin Plugin.create(:name => plugin, :root => plugin_root, :auto_updatable => true) end @@last_plugin_found = nil end def self.valid_plugin_link?(plugin_link) return false if plugin_link.innerHTML == '..' return false if (plugin_link.innerHTML =~ /^Subversion/ and plugin_link.attributes['href'] =~ /tigris.org/) return true end def self.verbose_print(message) return unless @@verbose puts(message) end end