Class: AwsClient::S32Wrapper
Instance Attribute Summary
Attributes inherited from Wrapper
Instance Method Summary collapse
- #buckets ⇒ Object
- #find_bucket_by(bucket_name) ⇒ Object
- #find_or_create_bucket(bucket_name) ⇒ Object
-
#initialize(*params) ⇒ S32Wrapper
constructor
A new instance of S32Wrapper.
- #resource ⇒ Object
- #write_data_to_bucket(bucket_name, data, filename) ⇒ Object
- #write_local_file_to_bucket(bucket_name, file_path) ⇒ Object
- #write_to_s3_bucket(key, body, bucket_name) ⇒ Object
Constructor Details
#initialize(*params) ⇒ S32Wrapper
Returns a new instance of S32Wrapper.
4 5 6 7 8 |
# File 'lib/s32_wrapper.rb', line 4 def initialize(*params) super @credentials_key = params[0][:credentials_key] @aws_region = params[0][:region] end |
Instance Method Details
#buckets ⇒ Object
14 15 16 |
# File 'lib/s32_wrapper.rb', line 14 def buckets return resource.buckets end |
#find_bucket_by(bucket_name) ⇒ Object
18 19 20 |
# File 'lib/s32_wrapper.rb', line 18 def find_bucket_by(bucket_name) buckets.select{|bucket| bucket.name == bucket_name }.first end |
#find_or_create_bucket(bucket_name) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/s32_wrapper.rb', line 22 def find_or_create_bucket(bucket_name) begin bucket = resource.create_bucket(:bucket => bucket_name) rescue Aws::S3::Errors::BucketAlreadyOwnedByYou bucket = find_bucket_by(bucket_name) end return bucket end |
#resource ⇒ Object
10 11 12 |
# File 'lib/s32_wrapper.rb', line 10 def resource @resource ||= Aws::S3::Resource.new(client: client) end |
#write_data_to_bucket(bucket_name, data, filename) ⇒ Object
38 39 40 41 |
# File 'lib/s32_wrapper.rb', line 38 def write_data_to_bucket(bucket_name, data, filename) s3_object = write_to_s3_bucket(filename, data, bucket_name) return s3_object end |
#write_local_file_to_bucket(bucket_name, file_path) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/s32_wrapper.rb', line 31 def write_local_file_to_bucket(bucket_name, file_path) key = File.basename(file_path) body = IO.read(file_path) s3_object = write_to_s3_bucket(key, body, bucket_name) return s3_object end |
#write_to_s3_bucket(key, body, bucket_name) ⇒ Object
43 44 45 46 |
# File 'lib/s32_wrapper.rb', line 43 def write_to_s3_bucket(key, body, bucket_name) bucket = find_or_create_bucket(bucket_name) s3_object = bucket.put_object(:key => key, :body => body) end |