class Dag::Object
Public Class Methods
new(api, bucket_name, object_name, opts = {})
click to toggle source
Calls superclass method
Dag::Model::new
# File lib/dag/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
Public Instance Methods
delete()
click to toggle source
# File lib/dag/client/model/object.rb, line 52 def delete @api.delete_object(@bucket, @name) end
etag()
click to toggle source
# File lib/dag/client/model/object.rb, line 18 def etag @opts["ETag"][0] end
lastmodified()
click to toggle source
# File lib/dag/client/model/object.rb, line 22 def lastmodified Time.parse(@opts["LastModified"][0]) end
name()
click to toggle source
# File lib/dag/client/model/object.rb, line 10 def name @name end
read(range = nil)
click to toggle source
# File lib/dag/client/model/object.rb, line 26 def read(range = nil) @api.get_object(@bucket, @name, range) end
size()
click to toggle source
# File lib/dag/client/model/object.rb, line 14 def size @opts["Size"][0].to_i end
write(data, options = {})
click to toggle source
# File lib/dag/client/model/object.rb, line 30 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