awful 0.0.73 → 0.0.74

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b14e6a539be6ccdb56556f5b511a82af7295ce31
4
- data.tar.gz: c4bee06767aea50a5efed77e8b9a32997da929db
3
+ metadata.gz: e1152069e1d64afd57c10949d82fcb35b39a31b9
4
+ data.tar.gz: b0ada74b3bdca5b6ac135abc9e20222bc3b00493
5
5
  SHA512:
6
- metadata.gz: 917fa172ee3f044d15884fdb2eabcf8960d1ae0c9dd0ac803c46ff7746d5f4dfafa19b774e836370fa5f9b5401f7d03bbd3d5fb731074f1cd2f4130fe87990d1
7
- data.tar.gz: 5ba47da606acb2aaf637897624c83e33a6ae3b8ac0d20eebdf24fe8cbf70881cbf04f904e5937e0dede8689b83ad0c869956dc999ae610282f8c62b6bda497e8
6
+ metadata.gz: 3a81ee38fc4d2a461287b3c503ffda72cfa9ba8c77df12e4ef9952e4c5ad13ebd7b5aa519a69e18bb2d8a906269db98869787d430c0062b7b5f15063b0412f74
7
+ data.tar.gz: 807174a9c8f82eedd4da2d2e5a583c6d6b34d6b7742a41073c0200adec490413c608a5223ac895419f1005ef3db6fe69998fc862dec153b8458be4fc9cf41fdd
@@ -167,4 +167,4 @@ module Awful
167
167
  end
168
168
 
169
169
  end
170
- end
170
+ end
data/lib/awful/s3.rb CHANGED
@@ -57,6 +57,43 @@ module Awful
57
57
  s3_resource.bucket(bucket).object(key).upload_file(file)
58
58
  end
59
59
 
60
+ desc 'remove_bucket NAME', 'delete a bucket, which must be empty'
61
+ def remove_bucket(name)
62
+ if yes? "Really delete bucket #{name}?", :yellow
63
+ s3.delete_bucket(bucket: name)
64
+ end
65
+ end
66
+
67
+ ## rb is an alias for remove_bucket
68
+ map :rb => :remove_bucket
69
+
70
+ no_commands do
71
+ def clean_objects(bucket, marker = nil)
72
+ ## get 100 objects at a time
73
+ objects = s3.list_objects(bucket: bucket, marker: marker)
74
+ return if objects.contents.empty?
75
+
76
+ ## delete them all
77
+ s3.delete_objects(
78
+ bucket: bucket,
79
+ delete: {
80
+ objects: objects.contents.map { |obj| { key: obj.key } }
81
+ }
82
+ )
83
+
84
+ ## recurse if there are more
85
+ if objects.next_marker
86
+ clean_objects(bucket, objects.next_marker)
87
+ end
88
+ end
89
+ end
90
+
91
+ desc 'clean NAME', 'remove all objects from bucket'
92
+ def clean(name)
93
+ if yes? "Really delete ALL objects in bucket #{name}?", :yellow
94
+ clean_objects(name)
95
+ end
96
+ end
60
97
  end
61
98
 
62
99
  end
data/lib/awful/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Awful
2
- VERSION = '0.0.73'
2
+ VERSION = '0.0.74'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.73
4
+ version: 0.0.74
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ric Lister
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-04 00:00:00.000000000 Z
11
+ date: 2016-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler