downlow 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +31 -1
- data/downlow.gemspec +2 -2
- data/lib/downlow.rb +1 -1
- data/lib/downlow/extractor.rb +8 -4
- data/lib/downlow/extractors/tar_gz.rb +1 -1
- data/lib/downlow/extractors/zip.rb +1 -1
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -8,7 +8,7 @@ Downloading files on the DL
|
|
8
8
|
|
9
9
|
Tested against Ruby 1.8.7 and 1.9.1
|
10
10
|
|
11
|
-
==
|
11
|
+
== What
|
12
12
|
|
13
13
|
Why is downloading and extracting files such a pain in Ruby?
|
14
14
|
|
@@ -37,6 +37,36 @@ BONUS BEATS FOR GITHUB
|
|
37
37
|
Downloads the tarball and extracts.
|
38
38
|
|
39
39
|
>> DL('gh://quirkey/sammy', ~/Desktop')
|
40
|
+
|
41
|
+
|
42
|
+
== Usage
|
43
|
+
|
44
|
+
Downlow is comprised of two main features: Fetchers and Extractors.
|
45
|
+
They do what they sound like they do.
|
46
|
+
|
47
|
+
To just fetch a remote (or local file or directory)
|
48
|
+
|
49
|
+
Downlow::Fetcher.fetch('remote', :destination => 'local')
|
50
|
+
|
51
|
+
Fetcher currently handles these styles of URL
|
52
|
+
|
53
|
+
Git (git://)
|
54
|
+
HTTP (http://)
|
55
|
+
Github (gh://user/project)
|
56
|
+
Local (anything else)
|
57
|
+
|
58
|
+
Extractors take a local file, and extract them based on their extension:
|
59
|
+
|
60
|
+
Downlow::Extractor.extract('local.archive', :destination => 'directory')
|
61
|
+
|
62
|
+
The extractors currently supported are
|
63
|
+
|
64
|
+
.tar.gz
|
65
|
+
.zip
|
66
|
+
dir (everything else)
|
67
|
+
|
68
|
+
DL() is just an alias for Downlow.get() which is just a wrapper around
|
69
|
+
.fetch() and then .extract()
|
40
70
|
|
41
71
|
== Thanks
|
42
72
|
|
data/downlow.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{downlow}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Aaron Quint"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-02-19}
|
13
13
|
s.description = %q{Downlow provides an easy way to fetch files or archives and extract them with minimal hassle.}
|
14
14
|
s.email = %q{aaron@quirkey.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/downlow.rb
CHANGED
data/lib/downlow/extractor.rb
CHANGED
@@ -1,14 +1,18 @@
|
|
1
1
|
module Downlow
|
2
2
|
class Extractor
|
3
3
|
|
4
|
-
def self.handles(which)
|
4
|
+
def self.handles(which, options = {})
|
5
5
|
@@handlers ||= []
|
6
|
-
@@handlers << [which, self]
|
6
|
+
@@handlers << [which, options, self]
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.extractor_for(path)
|
10
|
-
@@handlers.each do |matcher, klass|
|
11
|
-
|
10
|
+
@@handlers.each do |matcher, options, klass|
|
11
|
+
if options[:file_only] && !File.file?(path)
|
12
|
+
next
|
13
|
+
else
|
14
|
+
return klass if matcher.match(path)
|
15
|
+
end
|
12
16
|
end
|
13
17
|
end
|
14
18
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: downlow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Quint
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-02-19 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|