Class: S3Wrapper
- Inherits:
-
Object
- Object
- S3Wrapper
- Defined in:
- lib/s3_wrapper.rb
Instance Method Summary collapse
-
#cp ⇒ Object
TODO.
- #get(key) ⇒ Object
- #get_file(key, filename = key) ⇒ Object
-
#initialize(bucket, options = {}) ⇒ S3Wrapper
constructor
A new instance of S3Wrapper.
- #ls(key) ⇒ Object
-
#ls_if ⇒ Object
TODO.
- #ls_prefix(key_prefix) ⇒ Object
- #ls_regexp(key_regexp) ⇒ Object
- #ls_substring(key_substring, key_prefix = nil) ⇒ Object
- #mv(src_key, dst_key, dst_bucket = @bucket.name) ⇒ Object
-
#mv_prefix(src_prefix, dst_bucket) ⇒ Object
TODO.
-
#mv_regexp ⇒ Object
TODO.
-
#mv_substring ⇒ Object
TODO.
- #put(key, data) ⇒ Object
- #put_file(filename, key = nil) ⇒ Object
- #rm(key, options = {}) ⇒ Object
- #rm_if(&block) ⇒ Object
- #rm_prefix(key_prefix) ⇒ Object
- #rm_regexp(key_regexp) ⇒ Object
- #rm_substring(key_substring, key_prefix = nil) ⇒ Object
Constructor Details
#initialize(bucket, options = {}) ⇒ S3Wrapper
Returns a new instance of S3Wrapper.
7 8 9 10 11 |
# File 'lib/s3_wrapper.rb', line 7 def initialize(bucket, ={}) @bucket = AWS::S3.new().buckets[bucket] #TODO throw exception if bucket does not exist @objects = @bucket.objects end |
Instance Method Details
#cp ⇒ Object
TODO
91 92 |
# File 'lib/s3_wrapper.rb', line 91 def cp end |
#get(key) ⇒ Object
13 14 15 |
# File 'lib/s3_wrapper.rb', line 13 def get(key) @objects[key].read end |
#get_file(key, filename = key) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/s3_wrapper.rb', line 17 def get_file(key, filename=key) File.open(filename, 'w') do |fh| @objects[key].read do |chunk| fh.write(chunk) end end end |
#ls(key) ⇒ Object
34 35 36 |
# File 'lib/s3_wrapper.rb', line 34 def ls(key) get_object_description(@objects[key]) if @objects[key].exists? end |
#ls_if ⇒ Object
TODO
64 65 |
# File 'lib/s3_wrapper.rb', line 64 def ls_if end |
#ls_prefix(key_prefix) ⇒ Object
38 39 40 |
# File 'lib/s3_wrapper.rb', line 38 def ls_prefix(key_prefix) @objects.with_prefix(key_prefix).map {|obj| get_object_description(obj) } end |
#ls_regexp(key_regexp) ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'lib/s3_wrapper.rb', line 53 def ls_regexp(key_regexp) descriptions = [] @objects.each do |obj| descriptions << get_object_description(obj) if obj.key =~ key_regexp end descriptions end |
#ls_substring(key_substring, key_prefix = nil) ⇒ Object
42 43 44 45 46 47 48 49 50 51 |
# File 'lib/s3_wrapper.rb', line 42 def ls_substring(key_substring, key_prefix=nil) descriptions = [] objects = key_prefix ? @objects.with_prefix(key_prefix) : @objects objects.each do |obj| descriptions << get_object_description(obj) if obj.key =~ /#{key_substring}/ end descriptions end |
#mv(src_key, dst_key, dst_bucket = @bucket.name) ⇒ Object
67 68 69 |
# File 'lib/s3_wrapper.rb', line 67 def mv(src_key, dst_key, dst_bucket=@bucket.name) @objects[src_key].move_to(dst_key, :bucket_name => dst_bucket) end |
#mv_prefix(src_prefix, dst_bucket) ⇒ Object
TODO
72 73 74 |
# File 'lib/s3_wrapper.rb', line 72 def mv_prefix(src_prefix, dst_bucket) raise_if_dst_bucket_same_as_src(dst_bucket) end |
#mv_regexp ⇒ Object
TODO
81 82 |
# File 'lib/s3_wrapper.rb', line 81 def mv_regexp() end |
#mv_substring ⇒ Object
TODO
77 78 |
# File 'lib/s3_wrapper.rb', line 77 def mv_substring() end |
#put(key, data) ⇒ Object
25 26 27 |
# File 'lib/s3_wrapper.rb', line 25 def put(key, data) @objects[key].write(data) end |
#put_file(filename, key = nil) ⇒ Object
29 30 31 32 |
# File 'lib/s3_wrapper.rb', line 29 def put_file(filename, key=nil) key ||= File.basename(filename) @objects[key].write(:file => filename) end |
#rm(key, options = {}) ⇒ Object
94 95 96 |
# File 'lib/s3_wrapper.rb', line 94 def rm(key, ={}) @objects[key].delete end |
#rm_if(&block) ⇒ Object
116 117 118 |
# File 'lib/s3_wrapper.rb', line 116 def rm_if(&block) @objects.delete_if(&block) end |
#rm_prefix(key_prefix) ⇒ Object
98 99 100 |
# File 'lib/s3_wrapper.rb', line 98 def rm_prefix(key_prefix) @objects.with_prefix(key_prefix).each {|obj| obj.delete } end |
#rm_regexp(key_regexp) ⇒ Object
110 111 112 113 114 |
# File 'lib/s3_wrapper.rb', line 110 def rm_regexp(key_regexp) @objects.each do |obj| obj.delete if obj.key =~ key_regexp end end |
#rm_substring(key_substring, key_prefix = nil) ⇒ Object
102 103 104 105 106 107 108 |
# File 'lib/s3_wrapper.rb', line 102 def rm_substring(key_substring, key_prefix=nil) objects = key_prefix ? @objects.with_prefix(key_prefix) : @objects objects.each do |obj| obj.delete if obj.key =~ /#{key_substring}/ end end |