Sha256: 3682280b402cde1cce5f958461d780fda44c8c55a96647ebaa30731c2906669a
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
module S3 class Object < Driver::Model def initialize(api, bucket_name, object_name, opts = {}) super(api) @bucket = bucket_name @name = object_name @opts = opts end def name @name end def size @opts["Size"][0].to_i end def etag @opts["ETag"][0] end def lastmodified Time.parse(@opts["LastModified"][0]) end def read(range = nil) @api.get_object(@bucket, @name, range) end def write(data, options = {}) if data.is_a?(String) data = StringIO.new(data) elsif data.is_a?(Pathname) data = File.open(data, 'rb') elsif data.respond_to?(:read) && data.respond_to?(:eof?) end unless options[:multipart] @api.create_object(@bucket, @name, options) do data end else @api.create_multipart_object(@bucket, @name, options) do data end end data.close nil end def delete @api.delete_object(@bucket, @name) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
s3-client-0.0.1 | lib/s3/client/model/object.rb |