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.



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

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

Instance Method Details

#content_typeObject



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

def content_type
	s3_object.head[:content_type]
end

#private_urlObject



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

def private_url
	s3_object.url_for(:read, expires: 60 * 60 * 24 * 365 * 20).to_s # expire in 20 years
end

#public_urlObject



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

def public_url
	s3_object.public_url.to_s
end

#read(max_bytes = nil) ⇒ Object



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

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

#s3_objectObject



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

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

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



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

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