Sha256: cedcfd90f6c370468a17c13aa20e29fca7b2240913ced5931777ec18763b38d4
Contents?: true
Size: 632 Bytes
Versions: 3
Compression:
Stored size: 632 Bytes
Contents
require "open-uri" require "open_uri_redirections" require "anyfetch/file" require "anyfetch/ftp" require "anyfetch/http" require "anyfetch/version" module Anyfetch extend self def open(uri, options = {}) uri = to_uri(uri) handler(uri, options).open end private def to_uri(uri) URI.parse(uri.to_s) end def handler(uri, options = {}) scheme = uri.scheme || "file" klass = case scheme when "file" then File when "ftp" then FTP when /^https?/ then HTTP else raise "No handler for '#{scheme}' protocol." end klass.new(uri, options) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
anyfetch-0.1.5 | lib/anyfetch.rb |
anyfetch-0.1.4 | lib/anyfetch.rb |
anyfetch-0.1.3 | lib/anyfetch.rb |