simple-s3 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ .DS_Store
data/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Simple-S3
2
+
3
+ A super simple uploader for S3 using Ruby
data/bin/simple-s3.rb ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../lib/simple-s3'
3
+ SimpleS3.upload!
@@ -0,0 +1,43 @@
1
+ class SimpleS3
2
+
3
+ def config
4
+ if @config.nil?
5
+ @config = YAML.load('./simple-s3.yml')
6
+ end
7
+ @config
8
+ end
9
+
10
+ def upload!
11
+ exclude = @config['exclude_files']
12
+ inc = @config['include_files']
13
+ bucket = @config['bucket']
14
+ metadata = @config['metadata'] || {}
15
+
16
+ metadata[:access] ||= 'public-read'
17
+
18
+ files = []
19
+ Dir[inc].each do |file|
20
+ name = File.basename(file)
21
+ files.push(file) unless exclude.include?(name)
22
+ end
23
+
24
+ AWS::S3::Base.establish_connection!(
25
+ :access_key_id => @config['access_key'],
26
+ :secret_access_key => @config['secret_key']
27
+ )
28
+
29
+ files.each do |file|
30
+ base_name = File.basename(file)
31
+ puts "Uploading #{file} as '#{base_name}' to '#{bucket}'"
32
+ AWS::S3::S3Object.store(
33
+ base_name,
34
+ File.open(file),
35
+ bucket,
36
+ meta_data
37
+ )
38
+ end
39
+
40
+ puts "Completed!"
41
+ end
42
+
43
+ end
@@ -0,0 +1,3 @@
1
+ class SimpleS3
2
+ VERSION = "0.0.1"
3
+ end
data/lib/simple-s3.rb ADDED
@@ -0,0 +1,7 @@
1
+ require 'rubygems'
2
+ require 'yaml'
3
+ require 'aws/s3'
4
+
5
+ %w{simple-s3}.each do |file|
6
+ require File.dirname(__FILE__) + "/simple-s3/#{file}"
7
+ end
data/simple-s3.gemspec ADDED
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "simple-s3/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "simple-s3"
7
+ s.version = SimpleS3::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Matias Niemela"]
10
+ s.email = ["matias@yearofmoo.com"]
11
+ s.homepage = "https://github.com/yearofmoo/simple-s3"
12
+ s.summary = %q{Push your static content to S3}
13
+ s.description = %q{This Gem allows you to push your static content to AWS S3.}
14
+
15
+ s.default_executable = %q{simple-s3}
16
+
17
+ s.add_dependency 'aws-s3'
18
+
19
+ s.files = `git ls-files`.split("\n")
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.require_paths = ["lib"]
22
+ end
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: simple-s3
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - Matias Niemela
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2012-10-10 00:00:00 -04:00
18
+ default_executable: simple-s3
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: aws-s3
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ description: This Gem allows you to push your static content to AWS S3.
33
+ email:
34
+ - matias@yearofmoo.com
35
+ executables:
36
+ - simple-s3.rb
37
+ extensions: []
38
+
39
+ extra_rdoc_files: []
40
+
41
+ files:
42
+ - .gitignore
43
+ - README.md
44
+ - bin/simple-s3.rb
45
+ - lib/simple-s3.rb
46
+ - lib/simple-s3/simple-s3.rb
47
+ - lib/simple-s3/version.rb
48
+ - simple-s3.gemspec
49
+ has_rdoc: true
50
+ homepage: https://github.com/yearofmoo/simple-s3
51
+ licenses: []
52
+
53
+ post_install_message:
54
+ rdoc_options: []
55
+
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 0
71
+ version: "0"
72
+ requirements: []
73
+
74
+ rubyforge_project:
75
+ rubygems_version: 1.3.6
76
+ signing_key:
77
+ specification_version: 3
78
+ summary: Push your static content to S3
79
+ test_files: []
80
+