ale 0.0.3.pre4 → 0.0.3
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/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
|