Sha256: c059d1a04688439bda5885c68d10393a341dd3d4389a59aee33b1b4f2c366ea5
Contents?: true
Size: 1.93 KB
Versions: 1
Compression:
Stored size: 1.93 KB
Contents
require 'tempfile' module Jar import org.jets3t.service.model.S3Bucket import org.jets3t.service.model.S3Object end module JetS3t class Location ASIA_PACIFIC = Jar::S3Bucket::LOCATION_ASIA_PACIFIC EUROPE = Jar::S3Bucket::LOCATION_EUROPE US = Jar::S3Bucket::LOCATION_US end class S3Bucket def initialize(s3_service, name) @s3_service = s3_service @bucket_name = name @bucket = @s3_service.get_bucket(name) end def put(path, file) clean_path(path) java_file = java.io.File.new(file.path) input_stream = java.io.FileInputStream.new(java_file) object = Jar::S3Object.new(path) object.set_data_input_stream(input_stream) object.set_content_length(java_file.length) object.set_content_type('application/octet-stream') data = @s3_service.put_object(@bucket, object) end def put_data(path, data) clean_path(path) object = Jar::S3Object.new(path, data) object.set_content_length(data.size) object.set_content_type('application/octet-stream') data = @s3_service.put_object(@bucket, object) end def get(filename) clean_path(filename) begin d = @s3_service.list_objects(@bucket, filename, nil) if d && d.length > 0 S3Object.new(@s3_service.get_object(@bucket, filename)) end rescue Exception => e p e.message nil end end def delete(filename) clean_path(filename) @s3_service.delete_object(@bucket, filename) true rescue Exception => e false end def list @s3_service.list_objects(@bucket_name) end private def has_object(path) list.each do | item | return item if item.get_name == path end end # Removed leading / def clean_path(path) path.slice!(0) if path[0] == '/' end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jets3t-rb-1.0.3 | lib/jets3t/s3_bucket.rb |