ale 0.0.3.pre4 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/ale.gemspec +1 -1
- data/lib/ale.rb +6 -5
- data/lib/ale/bucket.rb +5 -7
- data/lib/ale/cli.rb +0 -1
- data/lib/ale/config.rb +3 -3
- data/lib/ale/content_type.rb +25 -0
- data/lib/ale/version.rb +1 -1
- metadata +23 -11
data/ale.gemspec
CHANGED
@@ -17,8 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.executables = ['ale']
|
18
18
|
s.files = `git ls-files`.split("\n")
|
19
19
|
s.require_paths = ['lib']
|
20
|
-
|
21
20
|
s.add_dependency('crack', '~> 0.3.1')
|
21
|
+
s.add_dependency('mime-types', '~> 1.16')
|
22
22
|
s.add_dependency('net-http-persistent', '~> 2.1')
|
23
23
|
s.add_dependency('thor', '~> 0.14.6')
|
24
24
|
end
|
data/lib/ale.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
module Ale
|
2
|
-
autoload :Bucket,
|
3
|
-
autoload :CLI,
|
4
|
-
autoload :Config,
|
5
|
-
autoload :
|
6
|
-
autoload :
|
2
|
+
autoload :Bucket, 'ale/bucket'
|
3
|
+
autoload :CLI, 'ale/cli'
|
4
|
+
autoload :Config, 'ale/config'
|
5
|
+
autoload :ContentType, 'ale/content_type'
|
6
|
+
autoload :Site, 'ale/site'
|
7
|
+
autoload :Uploader, 'ale/uploader'
|
7
8
|
|
8
9
|
class << self
|
9
10
|
attr_writer :alefile, :root
|
data/lib/ale/bucket.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'base64'
|
2
2
|
require 'crack'
|
3
|
-
require 'mime/types'
|
4
3
|
require 'net/http/persistent'
|
5
4
|
require 'time'
|
6
5
|
|
@@ -24,7 +23,7 @@ module Ale
|
|
24
23
|
def create
|
25
24
|
request = Net::HTTP::Put.new(uri.request_uri)
|
26
25
|
request.add_field('x-amz-acl', 'private')
|
27
|
-
send(uri, request)
|
26
|
+
puts send(uri, request)
|
28
27
|
end
|
29
28
|
|
30
29
|
# Allows the bucket to be used to host websites.
|
@@ -33,7 +32,7 @@ module Ale
|
|
33
32
|
uri = uri(query: 'website')
|
34
33
|
request = Net::HTTP::Put.new(uri.request_uri)
|
35
34
|
request.body = File.read(File.expand_path('../../templates/website_configuration.xml', __FILE__))
|
36
|
-
send(uri, request)
|
35
|
+
puts send(uri, request)
|
37
36
|
end
|
38
37
|
|
39
38
|
# Returns true of the bucket exsists on S3.
|
@@ -53,6 +52,7 @@ module Ale
|
|
53
52
|
send(uri, request) do |response|
|
54
53
|
list = Crack::XML.parse(response.body)
|
55
54
|
# Make sure we're returning an Array.
|
55
|
+
return [] if list['ListBucketResult'].nil?
|
56
56
|
return [list['ListBucketResult']['Contents']].flatten.compact
|
57
57
|
end
|
58
58
|
end
|
@@ -72,7 +72,7 @@ module Ale
|
|
72
72
|
file = File.open(file, 'rb')
|
73
73
|
request = Net::HTTP::Put.new(uri.request_uri)
|
74
74
|
request.add_field('Content-Length', file.size)
|
75
|
-
request.add_field('Content-Type',
|
75
|
+
request.add_field('Content-Type', ContentType.for(file.path))
|
76
76
|
request.add_field('x-amz-acl', permissions)
|
77
77
|
request.body_stream = file
|
78
78
|
send(uri, request)
|
@@ -119,9 +119,7 @@ module Ale
|
|
119
119
|
# Send a request object to the URI passed in.
|
120
120
|
#
|
121
121
|
def send(uri, request, &block)
|
122
|
-
unless request.
|
123
|
-
request.add_field('Content-Type', 'application/x-www-form-urlencoded')
|
124
|
-
end
|
122
|
+
request.add_field('Content-Type', 'application/x-www-form-urlencoded') unless request.key?('content-type')
|
125
123
|
request.add_field('Date', Time.now.utc.rfc822)
|
126
124
|
request.add_field('Authorization', authorization(uri, request))
|
127
125
|
connection.request(uri, request, &block)
|
data/lib/ale/cli.rb
CHANGED
data/lib/ale/config.rb
CHANGED
@@ -69,15 +69,15 @@ module Ale
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def ignore(files)
|
72
|
-
Config.ignored_files <<
|
72
|
+
Config.ignored_files << files
|
73
73
|
end
|
74
74
|
|
75
75
|
def private(files)
|
76
|
-
Config.private_files <<
|
76
|
+
Config.private_files << files
|
77
77
|
end
|
78
78
|
|
79
79
|
def public(files)
|
80
|
-
Config.public_files <<
|
80
|
+
Config.public_files << files
|
81
81
|
end
|
82
82
|
|
83
83
|
def secret_key(key)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'mime/types'
|
2
|
+
|
3
|
+
module Ale
|
4
|
+
module ContentType
|
5
|
+
class << self
|
6
|
+
# Adds an extension and a MIME type.
|
7
|
+
#
|
8
|
+
def add(extension, mime)
|
9
|
+
@@content_types ||= {}
|
10
|
+
@@content_types[extension.to_s] = mime
|
11
|
+
end
|
12
|
+
|
13
|
+
# Returns registered MIME type for an extension.
|
14
|
+
#
|
15
|
+
def for(path)
|
16
|
+
extension = File.extname(path)[1..-1]
|
17
|
+
@@content_types ||= {}
|
18
|
+
@@content_types[extension] || MIME::Types.of(path)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
add :mp4, 'video/mp4'
|
23
|
+
add :webm, 'video/webm'
|
24
|
+
end
|
25
|
+
end
|
data/lib/ale/version.rb
CHANGED
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ale
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.3
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.3
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jeremy Boles
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-14 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: crack
|
16
|
-
requirement: &
|
16
|
+
requirement: &70258371132500 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,21 @@ dependencies:
|
|
21
21
|
version: 0.3.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70258371132500
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: mime-types
|
27
|
+
requirement: &70258371132000 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.16'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70258371132000
|
25
36
|
- !ruby/object:Gem::Dependency
|
26
37
|
name: net-http-persistent
|
27
|
-
requirement: &
|
38
|
+
requirement: &70258371131540 !ruby/object:Gem::Requirement
|
28
39
|
none: false
|
29
40
|
requirements:
|
30
41
|
- - ~>
|
@@ -32,10 +43,10 @@ dependencies:
|
|
32
43
|
version: '2.1'
|
33
44
|
type: :runtime
|
34
45
|
prerelease: false
|
35
|
-
version_requirements: *
|
46
|
+
version_requirements: *70258371131540
|
36
47
|
- !ruby/object:Gem::Dependency
|
37
48
|
name: thor
|
38
|
-
requirement: &
|
49
|
+
requirement: &70258371131080 !ruby/object:Gem::Requirement
|
39
50
|
none: false
|
40
51
|
requirements:
|
41
52
|
- - ~>
|
@@ -43,7 +54,7 @@ dependencies:
|
|
43
54
|
version: 0.14.6
|
44
55
|
type: :runtime
|
45
56
|
prerelease: false
|
46
|
-
version_requirements: *
|
57
|
+
version_requirements: *70258371131080
|
47
58
|
description: Takes a static site and uploads it to Amazon's S3.
|
48
59
|
email: jeremy@jeremyboles.com
|
49
60
|
executables:
|
@@ -61,6 +72,7 @@ files:
|
|
61
72
|
- lib/ale/bucket.rb
|
62
73
|
- lib/ale/cli.rb
|
63
74
|
- lib/ale/config.rb
|
75
|
+
- lib/ale/content_type.rb
|
64
76
|
- lib/ale/site.rb
|
65
77
|
- lib/ale/uploader.rb
|
66
78
|
- lib/ale/version.rb
|
@@ -83,9 +95,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
83
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
96
|
none: false
|
85
97
|
requirements:
|
86
|
-
- - ! '
|
98
|
+
- - ! '>='
|
87
99
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
100
|
+
version: '0'
|
89
101
|
requirements: []
|
90
102
|
rubyforge_project:
|
91
103
|
rubygems_version: 1.8.11
|