awful 0.0.27 → 0.0.28

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: 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