class Aliyun::Oss::Bucket
Attributes
creation_date[RW]
domain[RW]
extranet_endpoint[RW]
intranet_endpoint[RW]
location[RW]
name[RW]
Public Class Methods
all()
click to toggle source
Class method - List all buckets in my account
# File lib/aliyunoss/bucket.rb, line 18 def self.all Aliyun::Oss::API.list_bucket.raise_unless(Net::HTTPOK).to_buckets end
create(name, location = 'oss-cn-hangzhou')
click to toggle source
Class method - Create a new bucket
# File lib/aliyunoss/bucket.rb, line 25 def self.create(name, location = 'oss-cn-hangzhou') Aliyun::Oss::API.put_bucket(name, location).raise_unless(Net::HTTPOK) Bucket.new(:name => name, :location=> location, :creation_date => Time.now) end
new(params = {})
click to toggle source
# File lib/aliyunoss/bucket.rb, line 7 def initialize(params = {}) params.each_pair {|k,v| send("#{k.to_s}=", v) } if String === @creation_date @creation_date =~ /(\d+) ([a-zA-Z]+) (\d+) (\d\d):(\d\d):(\d\d)/ @creation_date = Time.gm($3, $2, $1, $4, $5, $6) end end
Public Instance Methods
delete(path)
click to toggle source
Delete remote file
# File lib/aliyunoss/bucket.rb, line 63 def delete(path) Aliyun::Oss::API.delete_object(self, path).raise_unless(Net::HTTPNoContent) end
delete!()
click to toggle source
delete this bucket
# File lib/aliyunoss/bucket.rb, line 122 def delete! Aliyun::Oss::API.delete_bucket(self).raise_unless(Net::HTTPNoContent) end
disable_logging()
click to toggle source
# File lib/aliyunoss/bucket.rb, line 126 def disable_logging Aliyun::Oss::API.delete_logging(self).raise_unless(Net::HTTPNoContent) end
disable_website_access()
click to toggle source
# File lib/aliyunoss/bucket.rb, line 138 def disable_website_access Aliyun::Oss::API.delete_website(self).raise_unless(Net::HTTPNoContent) end
download(path, options = {})
click to toggle source
Download file from remote server
# File lib/aliyunoss/bucket.rb, line 47 def download(path, options = {}) Aliyun::Oss::API.get_object(self, path, options) .raise_unless(Net::HTTPOK) .body end
enable_logging(target_bucket_name, log_prefix)
click to toggle source
# File lib/aliyunoss/bucket.rb, line 130 def enable_logging(target_bucket_name, log_prefix) Aliyun::Oss::API.enable_bucket_logging(self, target_bucket_name, log_prefix).raise_unless(Net::HTTPOK) end
enable_website_access(index_page, error_page)
click to toggle source
# File lib/aliyunoss/bucket.rb, line 142 def enable_website_access(index_page, error_page) Aliyun::Oss::API.put_bucket_website(self, index_page, error_page).raise_unless(Net::HTTPOK) end
get_acl()
click to toggle source
# File lib/aliyunoss/bucket.rb, line 154 def get_acl Aliyun::Oss::API.get_bucket_acl(self).raise_unless(Net::HTTPOK).to_acl_status end
list_files(options = {})
click to toggle source
List all files in an bucket
# File lib/aliyunoss/bucket.rb, line 33 def list_files(options = {}) Aliyun::Oss::API.list_object(self, options).raise_unless(Net::HTTPOK).to_objects end
logging_status()
click to toggle source
# File lib/aliyunoss/bucket.rb, line 134 def logging_status Aliyun::Oss::API.get_bucket_logging(self).raise_unless(Net::HTTPOK).to_logging_status end
multipart_abort(path, upload_id)
click to toggle source
# File lib/aliyunoss/bucket.rb, line 76 def multipart_abort(path, upload_id) Aliyun::Oss::API.multipart_upload_abort(self, path, upload_id) .raise_unless(Net::HTTPNoContent) end
multipart_copy_from(source_bucket, source_path, size, range = nil)
click to toggle source
# File lib/aliyunoss/bucket.rb, line 91 def multipart_copy_from(source_bucket, source_path, size, range = nil) response = Aliyun::Oss::API.multipart_upload_from_copy(@multipart_id, source_bucket, source_path, self, @multipart_path, @multipart_sequence, size, range) response.raise_unless(Net::HTTPOK) @multipart_list[@multipart_sequence] = response['ETag'] @multipart_sequence = @multipart_sequence + 1 end
multipart_pending()
click to toggle source
Multipart upload and copy
# File lib/aliyunoss/bucket.rb, line 70 def multipart_pending Aliyun::Oss::API.multipart_upload_unfinished_task(self) .raise_unless(Net::HTTPOK) .to_mutlipart_task end
multipart_upload(data)
click to toggle source
# File lib/aliyunoss/bucket.rb, line 81 def multipart_upload(data) raise 'You must call multipart_upload_initiate before upload data.' unless @multipart_path response = Aliyun::Oss::API.multipart_upload_part(self, @multipart_path, @multipart_id, data, @multipart_sequence) response.raise_unless(Net::HTTPOK) @multipart_list[@multipart_sequence] = response['ETag'] @multipart_sequence = @multipart_sequence + 1 end
multipart_upload_complete()
click to toggle source
# File lib/aliyunoss/bucket.rb, line 111 def multipart_upload_complete Aliyun::Oss::API.multipart_upload_complete(self, @multipart_path, @multipart_id, @multipart_list) .raise_unless(Net::HTTPOK) @multipart_path = nil end
multipart_upload_initiate(path)
click to toggle source
# File lib/aliyunoss/bucket.rb, line 102 def multipart_upload_initiate(path) @multipart_path = path @multipart_id = Aliyun::Oss::API.multipart_upload_initiate(self, path) .raise_unless(Net::HTTPOK) .to_multipart_id @multipart_list = {} @multipart_sequence = 1 end
set_acl(permission)
click to toggle source
# File lib/aliyunoss/bucket.rb, line 150 def set_acl(permission) Aliyun::Oss::API.put_bucket_acl(self, permission).raise_unless(Net::HTTPOK) end
upload(data, path, options = {})
click to toggle source
Upload data to bucket
# File lib/aliyunoss/bucket.rb, line 40 def upload(data, path, options = {}) Aliyun::Oss::API.put_object(self, path, data, options).raise_unless(Net::HTTPOK) end
website_access_status()
click to toggle source
# File lib/aliyunoss/bucket.rb, line 146 def website_access_status Aliyun::Oss::API.get_bucket_website(self).raise_unless(Net::HTTPOK).to_website_status end