class Neutrino::Storage::AWS

Attributes

access_key_id[RW]
acl[RW]
bucket[RW]
secret_access_key[RW]
uploader[R]

Public Class Methods

configure() { |self| ... } click to toggle source
# File lib/neutrino/storage/aws.rb, line 9
def configure(&block)
  yield self
end
new(uploader) click to toggle source
# File lib/neutrino/storage/aws.rb, line 16
def initialize(uploader)
  @uploader = uploader
end

Public Instance Methods

delete() click to toggle source
# File lib/neutrino/storage/aws.rb, line 30
def delete
  file.delete
end
exists?() click to toggle source
# File lib/neutrino/storage/aws.rb, line 34
def exists?
  file.exists?
end
store(new_file) click to toggle source
# File lib/neutrino/storage/aws.rb, line 20
def store(new_file)
  file.write(
    acl:          self.class.acl,
    content_type: 'application/octet-stream',
    file:         new_file.path
  )

  true
end
url() click to toggle source
# File lib/neutrino/storage/aws.rb, line 38
def url
  file.public_url.to_s
end

Private Instance Methods

bucket() click to toggle source
# File lib/neutrino/storage/aws.rb, line 44
def bucket
  @bucket ||= connection.buckets[self.class.bucket]
end
connection() click to toggle source
# File lib/neutrino/storage/aws.rb, line 48
def connection
  @connection ||= ::AWS::S3.new(credentials)
end
credentials() click to toggle source
# File lib/neutrino/storage/aws.rb, line 52
def credentials
  { access_key_id:     self.class.access_key_id,
    secret_access_key: self.class.secret_access_key }
end
file() click to toggle source
# File lib/neutrino/storage/aws.rb, line 57
def file
  @file ||= bucket.objects[uploader.store_path]
end