class MinioRuby::MinioClient
Attributes
access_key[RW]
debug[RW]
end_point[RW]
port[RW]
region[RW]
secret_key[RW]
secure[RW]
transport[RW]
Public Class Methods
new(params = {})
click to toggle source
# File lib/minio-ruby.rb, line 15 def initialize(params = {}) # TODO: add extensive error checking of params here. params[:debug] = params[:debug] ? params[:debug] : false params.each { |key, value| send "#{key}=", value } end
Public Instance Methods
bucket_exists(bucket_name)
click to toggle source
# File lib/minio-ruby.rb, line 64 def bucket_exists(bucket_name); end
fput_object(bucket_name, object_name, file_path, content_type)
click to toggle source
# File lib/minio-ruby.rb, line 67 def fput_object(bucket_name, object_name, file_path, content_type); end
get_object(bucket_name, object_name)
click to toggle source
# File lib/minio-ruby.rb, line 21 def get_object(bucket_name, object_name) url = "#{end_point}/#{bucket_name}/#{object_name}" headers = sign_headers 'get', url uri = URI.parse(end_point) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = secure req = Net::HTTP::Get.new(url, headers) req.body = '' https.set_debug_output($stdout) if debug https.request(req) end
make_bucket(bucket_name)
click to toggle source
# File lib/minio-ruby.rb, line 69 def make_bucket(bucket_name) url = "#{end_point}/#{bucket_name}" headers = sign_headers 'put', url uri = URI.parse(url) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = secure req = Net::HTTP::Put.new(uri, headers) req.body = '' https.set_debug_output($stdout) if debug response = https.request(req) if response.code != '200' puts 'Error Making bucket' else puts 'Made bucket' end end
presigned_object(bucket_name, object_name, expire_in = 24 * 60 * 60)
click to toggle source
# File lib/minio-ruby.rb, line 35 def presigned_object(bucket_name, object_name, expire_in = 24 * 60 * 60) url = "#{end_point}/#{bucket_name}/#{object_name}" headers = sign_headers 'get', url, '', 'expire_in' => expire_in.to_s puts headers uri = URI.parse(end_point) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = secure req = Net::HTTP::Get.new(url, headers) req.body = '' https.set_debug_output($stdout) if debug https.request(req) end
put_object(bucket_name, object_name, data)
click to toggle source
# File lib/minio-ruby.rb, line 50 def put_object(bucket_name, object_name, data) url = "#{end_point}/#{bucket_name}/#{object_name}" headers = sign_headers 'put', url, data uri = URI.parse(end_point) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = secure req = Net::HTTP::Put.new(url, headers) req.body = data https.set_debug_output($stdout) if debug https.request(req) end
Private Instance Methods
sign_headers(method, url, data = '', headers = {})
click to toggle source
# File lib/minio-ruby.rb, line 91 def sign_headers(method, url, data = '', headers = {}) signer = MinioRuby::Signer.new( access_key: access_key, secret_key: secret_key, region: region ) signer.sign_v4(method, url, headers, data, debug) end