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.
@@ -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, 'ale/bucket'
3
- autoload :CLI, 'ale/cli'
4
- autoload :Config, 'ale/config'
5
- autoload :Site, 'ale/site'
6
- autoload :Uploader, 'ale/uploader'
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
@@ -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', MIME::Types.of(file.path))
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.to_hash.key?('Content-Type')
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)
@@ -1,4 +1,3 @@
1
- require 'aws-sdk'
2
1
  require 'thor'
3
2
 
4
3
  module Ale
@@ -69,15 +69,15 @@ module Ale
69
69
  end
70
70
 
71
71
  def ignore(files)
72
- Config.ignored_files << file
72
+ Config.ignored_files << files
73
73
  end
74
74
 
75
75
  def private(files)
76
- Config.private_files << file
76
+ Config.private_files << files
77
77
  end
78
78
 
79
79
  def public(files)
80
- Config.public_files << file
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
@@ -1,3 +1,3 @@
1
1
  module Ale
2
- VERSION = '0.0.3.pre4'
2
+ VERSION = '0.0.3'
3
3
  end
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.pre4
5
- prerelease: 6
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-09 00:00:00.000000000Z
12
+ date: 2011-10-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: crack
16
- requirement: &70280802231900 !ruby/object:Gem::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: *70280802231900
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: &70280802230400 !ruby/object:Gem::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: *70280802230400
46
+ version_requirements: *70258371131540
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: thor
38
- requirement: &70280802227160 !ruby/object:Gem::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: *70280802227160
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: 1.3.1
100
+ version: '0'
89
101
  requirements: []
90
102
  rubyforge_project:
91
103
  rubygems_version: 1.8.11