+#
+# Copyright Michael Orlitzky
+#
+# http://michael.orlitzky.com/
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# http://www.fsf.org/licensing/licenses/gpl.html
+#
+
+class Downloader
+
+ def self.create(download_method)
+ # Return the subclass corresponding to download_method.
+ case download_method
+ when :openuri
+ return OpenUriDownloader.new()
+ when :wget
+ return WgetDownloader.new()
+ end
+ end
+
+
+ # Abstract
+ def download(url, outfile)
+ raise NotImplementedError
+ end
+
+end
+
+
+# This is wacky, but seems to work.
+require 'src/wget_downloader'
+require 'src/open_uri_downloader'