Class: Configuration::S3SourceStoreBase::S3Object

Inherits:
Object
  • Object
show all
Defined in:
lib/httpimagestore/configuration/s3.rb

Direct Known Subclasses

CacheObject

Instance Method Summary collapse

Constructor Details

#initialize(client, bucket, key) ⇒ S3Object

Returns a new instance of S3Object.



159
160
161
162
163
# File 'lib/httpimagestore/configuration/s3.rb', line 159

def initialize(client, bucket, key)
	@client = client
	@bucket = bucket
	@key = key
end

Instance Method Details

#content_typeObject



188
189
190
# File 'lib/httpimagestore/configuration/s3.rb', line 188

def content_type
	s3_object.head[:content_type]
end

#private_urlObject



180
181
182
# File 'lib/httpimagestore/configuration/s3.rb', line 180

def private_url
	s3_object.url_for(:read, expires: 60 * 60 * 24 * 365 * 20)
end

#public_urlObject



184
185
186
# File 'lib/httpimagestore/configuration/s3.rb', line 184

def public_url
	s3_object.public_url
end

#read(max_bytes = nil) ⇒ Object



170
171
172
173
174
# File 'lib/httpimagestore/configuration/s3.rb', line 170

def read(max_bytes = nil)
	options = {}
	options[:range] = 0..max_bytes if max_bytes
	s3_object.read(options)
end

#s3_objectObject



165
166
167
168
# File 'lib/httpimagestore/configuration/s3.rb', line 165

def s3_object
	return @s3_object if @s3_object
	@s3_object = @client.buckets[@bucket].objects[@key]
end

#write(data, options = {}) ⇒ Object



176
177
178
# File 'lib/httpimagestore/configuration/s3.rb', line 176

def write(data, options = {})
	s3_object.write(data, options)
end