aws_s3_export 0.1.8 → 0.2.0

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/README.md CHANGED
@@ -17,7 +17,7 @@ Or install it yourself as:
17
17
 
18
18
  ## Usage
19
19
 
20
- creat file export.rb and pust code below
20
+ creat file export.rb and paste code below:
21
21
 
22
22
  #simple script for usage
23
23
  require 'rubygems'
@@ -30,7 +30,29 @@ creat file export.rb and pust code below
30
30
  s3.run
31
31
 
32
32
  Run from console: $ ruby export.rb
33
- And you should will see:
33
+ And you should will see something like this:
34
+
35
+ Work in .
36
+ Work in ..
37
+ Work in 1
38
+ File '1/large/IMG_0298.JPG' has saved
39
+ File '1/medium/IMG_0298.JPG' has savd
40
+ File '1/micro/IMG_0298.JPG' has saved
41
+ File '1/original/IMG_0298.JPG' has saved
42
+ File '1/slide_Show/IMG_0298.JPG' has saved
43
+ File '1/small/IMG_0298.JPG' has saved
44
+ File '1/small_149/IMG_0298.JPG' has saved
45
+ File '1/smaller/IMG_0298.JPG' has saved
46
+ Work in 11
47
+ File '11/large/IMG_3518.JPG' has saved
48
+ File '11/medium/IMG_3518.JPG' has saved
49
+ File '11/micro/IMG_3518.JPG' has saved
50
+ File '11/original/IMG_3518.JPG' has saved
51
+ File '11/slide_Show/IMG_3518.JPG' has saved
52
+ File '11/small/IMG_3518.JPG' has saved
53
+
54
+ If set prefix then in bucket you will have
55
+ prefix_name/1/large/IMG_0298.JPG
34
56
 
35
57
 
36
58
  ## Contributing
@@ -8,13 +8,16 @@ module AwsS3Export
8
8
  # :bucket_name - name of bucket s3
9
9
  # :access_key - access key id of s3
10
10
  # :secret_access_key - secret access key of s3
11
+ # :rewrite_existing_files - if you want to rewrite set as true
12
+ # :acl - access controll like in http://docs.amazonwebservices.com/AWSRubySDK/latest/AWS/S3/S3Object.html#write-instance_method in aws-sdk
13
+ # default as public_read
11
14
  #
12
15
  # Get config for example the export_dir:
13
16
  # s3_config.export_dir #=> /your/dir/
14
17
  #
15
18
 
16
19
  class Config
17
- attr_reader :access_key, :secret_access_key, :export_dir, :bucket_name, :prefix
20
+ attr_reader :access_key, :secret_access_key, :export_dir, :bucket_name, :prefix, :rewrite_existing_files, :acl
18
21
 
19
22
  def initialize(options = {})
20
23
  validation_options.each do |o|
@@ -28,6 +31,8 @@ module AwsS3Export
28
31
  @export_dir = options[:export_dir] || "./" # the current directory
29
32
  @bucket_name = options[:bucket_name]
30
33
  @prefix = options[:prefix] || ""
34
+ @rewrite_existing_files = options[:rewrite_existing_files] || false
35
+ @acl = options[:acl] || :public_read
31
36
  end
32
37
 
33
38
  private
@@ -1,4 +1,42 @@
1
1
  module AwsS3Export
2
+ #
3
+ # creat file export.rb and paste code below:
4
+
5
+ # #simple script for usage
6
+ # require 'rubygems'
7
+ # require 'aws_s3_export'
8
+
9
+ # s3 = AwsS3Export::Export.new(:export_dir => 'a/directory/on/ours/computer', :bucket_name =>'your-bucket-name',
10
+ # :prefix => 'a/prefix/in/your/bucket', :access_key => "XXX",
11
+ # :secret_access_key => "XXX" )
12
+
13
+ # s3.run
14
+
15
+ # Run from console: $ ruby export.rb
16
+ # And you should will see something like this:
17
+
18
+ # Work in .
19
+ # Work in ..
20
+ # Work in 1
21
+ # File '1/large/IMG_0298.JPG' has saved
22
+ # File '1/medium/IMG_0298.JPG' has savd
23
+ # File '1/micro/IMG_0298.JPG' has saved
24
+ # File '1/original/IMG_0298.JPG' has saved
25
+ # File '1/slide_Show/IMG_0298.JPG' has saved
26
+ # File '1/small/IMG_0298.JPG' has saved
27
+ # File '1/small_149/IMG_0298.JPG' has saved
28
+ # File '1/smaller/IMG_0298.JPG' has saved
29
+ # Work in 11
30
+ # File '11/large/IMG_3518.JPG' has saved
31
+ # File '11/medium/IMG_3518.JPG' has saved
32
+ # File '11/micro/IMG_3518.JPG' has saved
33
+ # File '11/original/IMG_3518.JPG' has saved
34
+ # File '11/slide_Show/IMG_3518.JPG' has saved
35
+ # File '11/small/IMG_3518.JPG' has saved
36
+
37
+ # If set prefix then in bucket you will have
38
+ # prefix_name/1/large/IMG_0298.JPG
39
+
2
40
 
3
41
  class Export
4
42
  def initialize(options = {})
@@ -29,16 +67,24 @@ module AwsS3Export
29
67
 
30
68
  private
31
69
  def save_file(file)
70
+
32
71
  if !@config.prefix.empty?
33
72
  prefix = "#{@config.prefix}/"
34
73
  else
35
74
  prefix = ""
36
75
  end
76
+
37
77
  # Grab a reference to an object in the bucket with the name we require
38
78
  object = @bucket.objects["#{prefix}#{file}"]
79
+
80
+ #overwrite file?
81
+ if object.exists? and !@config.rewrite_existing_files
82
+ puts "Skip writing file '#{file}'. If you want to rewrete file set option 'rewrite_existing_files' to true"
83
+ return
84
+ end
39
85
 
40
86
  # Write a local file to the aforementioned object on S3
41
- if object.write(:file => File.expand_path( file, @config.export_dir ))
87
+ if object.write(:file => File.expand_path(file, @config.export_dir), :acl => @config.acl)
42
88
  puts "File '#{file}' has saved"
43
89
  else
44
90
  puts "Somthing wrong! File '#{file}' not save"
@@ -1,3 +1,3 @@
1
1
  module AwsS3Export
2
- VERSION = "0.1.8"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_s3_export
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
9
- - 8
10
- version: 0.1.8
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alex Dmitriev
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-06-01 00:00:00 Z
18
+ date: 2012-06-04 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: aws-sdk