awful 0.0.27 → 0.0.28

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: 90734ed93f491b0260e20574e85270ede9a29983
4
- data.tar.gz: 854a595c1d2d1bfe2be6ad69f169ebfe412060dc
3
+ metadata.gz: b3ea7e73717a3691610a4f65a02873d4d3d6212d
4
+ data.tar.gz: 3e00ec947acbce5e979209333cd9c788eab62c84
5
5
  SHA512:
6
- metadata.gz: 796edf706246b369a0e0dcfb114e1cc938a458f7f58ae29f077336fd72229b98fba142d843e8096c6698502a6db8c58fb3dc6973da825345b5bf9ec999c38b05
7
- data.tar.gz: 48d838269959f07d7e37fc348f04b989c2efe5bf01faaed7d84875a2ef6b5bef03c739be78afcd7224575e004d8421adfdb9bd3eb3acd7dd471a6b87fe4a980f
6
+ metadata.gz: 6ef6c37f9e9b36053dd29b243b03c4431a52d66e8721d1bb8a6db0c0b9d039505a16e41d30d6c54ffe6c5f679a44583656ab1c4dee2bb607e9573e0066f93e5e
7
+ data.tar.gz: 890cf654e306bac5ec715f600c6f9f37ef372cb6f5040c4a4d591b0c9dd5b967438f619e7e764ed78a7fa99363815964f420ea553c773868ab9f64805c9e9c6e
data/bin/s3 ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/ruby
2
+ #-*- mode: ruby; -*-
3
+
4
+ require 'awful'
5
+ require 'awful/s3'
6
+
7
+ Awful::S3.start(ARGV)
data/lib/awful.rb CHANGED
@@ -36,6 +36,10 @@ module Awful
36
36
  @dynamodb ||= Aws::DynamoDB::Client.new
37
37
  end
38
38
 
39
+ def s3
40
+ @s3 ||= Aws::S3::Client.new
41
+ end
42
+
39
43
  def symbolize_keys(thing)
40
44
  if thing.is_a?(Hash)
41
45
  Hash[ thing.map { |k,v| [ k.to_sym, symbolize_keys(v) ] } ]
@@ -57,7 +57,13 @@ module Awful
57
57
 
58
58
  desc 'delete NAME', 'delete table with NAME'
59
59
  def delete_table(name)
60
- dynamodb.delete_table(table_name: name)
60
+ confirmation = ask("to delete #{name} and all its data, type the name of table to delete:", :yellow)
61
+ if confirmation == name
62
+ say("deleting table #{name}")
63
+ dynamodb.delete_table(table_name: name)
64
+ else
65
+ say("confirmation failed for #{name}", :red)
66
+ end
61
67
  end
62
68
 
63
69
  desc 'put_items NAME', 'puts json items into the table with NAME'
data/lib/awful/s3.rb ADDED
@@ -0,0 +1,39 @@
1
+ module Awful
2
+
3
+ class S3 < Cli
4
+
5
+ desc 'list_buckets [PATTERN]', 'list buckets'
6
+ method_option :long, aliases: '-l', default: false, desc: 'Long listing'
7
+ def list_buckets(name = /./)
8
+ s3.list_buckets.buckets.select do |bucket|
9
+ bucket.name.match(name)
10
+ end.tap do |list|
11
+ if options[:long]
12
+ print_table list.map { |b| [ b.name, b.creation_date ] }
13
+ else
14
+ puts list.map(&:name)
15
+ end
16
+ end
17
+ end
18
+
19
+ desc 'list_objects BUCKET [PATTERN]', 'list objects in bucket'
20
+ def list_objects(bucket, prefix = nil)
21
+ # s3.list_objects(bucket: bucket, prefix: prefix, delimiter: '').contents.map(&:key).tap do |list|
22
+ # puts list
23
+ # end
24
+ Aws::S3::Resource.new(client: s3).bucket(bucket).objects(delimiter: '', prefix: prefix).map do |object|
25
+ object.key
26
+ end.tap { |list| puts list }
27
+ end
28
+
29
+ desc 'cat BUCKET/OBJECT', 'stream s3 object to stdout'
30
+ def cat(path)
31
+ bucket, key = path.split('/', 2)
32
+ s3.get_object(bucket: bucket, key: key) do |chunk|
33
+ $stdout.write(chunk)
34
+ end
35
+ end
36
+
37
+ end
38
+
39
+ end
data/lib/awful/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Awful
2
- VERSION = "0.0.27"
2
+ VERSION = "0.0.28"
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.27
4
+ version: 0.0.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ric Lister
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-03 00:00:00.000000000 Z
11
+ date: 2015-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -93,6 +93,7 @@ executables:
93
93
  - lc
94
94
  - rds
95
95
  - route
96
+ - s3
96
97
  - sg
97
98
  - subnet
98
99
  - vpc
@@ -114,6 +115,7 @@ files:
114
115
  - bin/lc
115
116
  - bin/rds
116
117
  - bin/route
118
+ - bin/s3
117
119
  - bin/sg
118
120
  - bin/subnet
119
121
  - bin/vpc
@@ -127,6 +129,7 @@ files:
127
129
  - lib/awful/launch_config.rb
128
130
  - lib/awful/rds.rb
129
131
  - lib/awful/route_table.rb
132
+ - lib/awful/s3.rb
130
133
  - lib/awful/security_group.rb
131
134
  - lib/awful/subnet.rb
132
135
  - lib/awful/version.rb