Class: S3::Object
- Inherits:
-
Driver::Model
- Object
- Driver::Model
- S3::Object
- Defined in:
- lib/s3/client/model/object.rb
Instance Method Summary collapse
- #delete ⇒ Object
- #etag ⇒ Object
-
#initialize(api, bucket_name, object_name, opts = {}) ⇒ Object
constructor
A new instance of Object.
- #lastmodified ⇒ Object
- #name ⇒ Object
- #read(range = nil) ⇒ Object
- #size ⇒ Object
- #write(data, options = {}) ⇒ Object
Constructor Details
#initialize(api, bucket_name, object_name, opts = {}) ⇒ Object
Returns a new instance of Object.
3 4 5 6 7 8 |
# File 'lib/s3/client/model/object.rb', line 3 def initialize(api, bucket_name, object_name, opts = {}) super(api) @bucket = bucket_name @name = object_name @opts = opts end |
Instance Method Details
#delete ⇒ Object
52 53 54 |
# File 'lib/s3/client/model/object.rb', line 52 def delete @api.delete_object(@bucket, @name) end |
#etag ⇒ Object
18 19 20 |
# File 'lib/s3/client/model/object.rb', line 18 def etag @opts["ETag"][0] end |
#lastmodified ⇒ Object
22 23 24 |
# File 'lib/s3/client/model/object.rb', line 22 def lastmodified Time.parse(@opts["LastModified"][0]) end |
#name ⇒ Object
10 11 12 |
# File 'lib/s3/client/model/object.rb', line 10 def name @name end |
#read(range = nil) ⇒ Object
26 27 28 |
# File 'lib/s3/client/model/object.rb', line 26 def read(range = nil) @api.get_object(@bucket, @name, range) end |
#size ⇒ Object
14 15 16 |
# File 'lib/s3/client/model/object.rb', line 14 def size @opts["Size"][0].to_i end |
#write(data, options = {}) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/s3/client/model/object.rb', line 30 def write(data, = {}) 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 [:multipart] @api.create_object(@bucket, @name, ) do data end else @api.create_multipart_object(@bucket, @name, ) do data end end data.close nil end |