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.
@@ -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