dandelion 0.4.4 → 0.4.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 00110ac83b39564910efe70d62413f0131965c7a
4
- data.tar.gz: 08d3488e8bc26fe5ef82c5a4e01257b22de7eeb6
3
+ metadata.gz: 5520acb69585608fbf7087b4bb2ca2d37a7ba767
4
+ data.tar.gz: bcfa8fae2c7324ee5dfebf64d54f6f3aa38b1504
5
5
  SHA512:
6
- metadata.gz: ef0da54d71427e9307dbe9139cd642ce025e8ba23f09aba5bee3b383e8364847fa7497b6e33210a4cd1e653151e871a44ad935a30264d0372e42bb247e68d8f7
7
- data.tar.gz: 2e049e82a8a9c756dbd0f2012b27561d2e254fa48f8261b97b5ddada5972662a8d971882deb862a7e32a91f4742f665714de1deaa0df0f5fe4f7ff80d5d22ed8
6
+ metadata.gz: 0b0b3e1773552af905d074664285fc30f271d2c1dfbceb8fea159bc753cedeb124c0b2462bbc3bbb077c6d600ffc1f2d72acb3df5e0ae313149f710cc2af5b4a
7
+ data.tar.gz: 2f9e4b05a622d0a1a61bbdc99a7d23785d3e755b54f751364dedf896476ba0a377cbe073b794096ecf0bbe232321f004c1771a4aa719127a08d60ae48bb5e718
data/README.md CHANGED
@@ -83,7 +83,7 @@ Required:
83
83
  Optional:
84
84
 
85
85
  * `port` (defaults to 21)
86
- * `passive` (defaults to true)
86
+ * `passive` (defaults to false)
87
87
 
88
88
  **Amazon S3**: `adapter: s3`
89
89
 
@@ -96,6 +96,7 @@ Required:
96
96
  Optional:
97
97
 
98
98
  * `host` (defaults to s3.amazonaws.com)
99
+ * `preserve_permissions` (defaults to true)
99
100
 
100
101
  Usage
101
102
  -----
@@ -7,49 +7,55 @@ module Dandelion
7
7
  def initialize(config)
8
8
  require 'aws/s3'
9
9
 
10
- @access_key_id = config[:access_key_id]
11
- @secret_access_key = config[:secret_access_key]
12
- @bucket_name = config[:bucket_name]
13
- @host = config[:host]
14
- @path = config[:path]
10
+ @config = config
11
+ @config.defaults(preserve_permissions: true)
15
12
  end
16
13
 
17
14
  def read(file)
18
- s3connect!
19
- return nil unless AWS::S3::S3Object.exists?(path(file), @bucket_name)
20
- AWS::S3::S3Object.value(path(file), @bucket_name)
15
+ connect!
16
+ return nil unless AWS::S3::S3Object.exists?(path(file), bucket_name)
17
+ AWS::S3::S3Object.value(path(file), bucket_name)
21
18
  end
22
19
 
23
20
  def write(file, data)
24
- s3connect!
25
- AWS::S3::S3Object.store(path(file), data, @bucket_name)
21
+ connect!
22
+
23
+ key = path(file)
24
+ policy = AWS::S3::S3Object.acl(key, bucket_name) if @config[:preserve_permissions]
25
+
26
+ AWS::S3::S3Object.store(path(file), data, bucket_name)
27
+ AWS::S3::S3Object.acl(key, bucket_name, policy) unless policy.nil?
26
28
  end
27
29
 
28
30
  def delete(file)
29
- s3connect!
30
- AWS::S3::S3Object.delete(path(file), @bucket_name)
31
+ connect!
32
+ AWS::S3::S3Object.delete(path(file), bucket_name)
31
33
  end
32
34
 
33
35
  def to_s
34
- "s3://#{@access_key_id}@#{@bucket_name}/#{@path}"
36
+ "s3://#{@config[:access_key_id]}@#{bucket_name}/#{@config[:path]}"
35
37
  end
36
38
 
37
39
  protected
38
40
 
39
- def s3connect!
41
+ def connect!
40
42
  options = {
41
- access_key_id: @access_key_id,
42
- secret_access_key: @secret_access_key,
43
+ access_key_id: @config[:access_key_id],
44
+ secret_access_key: @config[:secret_access_key],
43
45
  use_ssl: true
44
46
  }
45
47
 
46
- options[:server] = @host if @host
48
+ options[:server] = @config[:host] if @config[:host]
47
49
  AWS::S3::Base.establish_connection!(options) unless AWS::S3::Base.connected?
48
50
  end
51
+
52
+ def bucket_name
53
+ @config[:bucket_name]
54
+ end
49
55
 
50
56
  def path(file)
51
- if @path and !@path.empty?
52
- "#{@path}/#{file}"
57
+ if @config[:path] and !@config[:path].empty?
58
+ "#{@config[:path]}/#{file}"
53
59
  else
54
60
  file
55
61
  end
data/lib/dandelion/cli.rb CHANGED
@@ -6,6 +6,8 @@ module Dandelion
6
6
  @args = args
7
7
  @options = {}
8
8
  @parser = Command::Base.parser(@options)
9
+
10
+ @options[:help] = true if @args.length == 0
9
11
  end
10
12
 
11
13
  def config
@@ -1,3 +1,3 @@
1
1
  module Dandelion
2
- VERSION = '0.4.4'
2
+ VERSION = '0.4.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dandelion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Nelson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-15 00:00:00.000000000 Z
11
+ date: 2014-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rugged