class Admin::Image

Attributes

s3[R]

Public Instance Methods

clear!() click to toggle source
# File lib/ecrire/app/models/admin/image.rb, line 19
def clear!
  return if self.url.nil?

  s3.bucket.objects.find(key).destroy
  self.url = nil
  self.key = nil
  save!
end
file=(file) click to toggle source
# File lib/ecrire/app/models/admin/image.rb, line 14
def file=(file)
  @file = s3.bucket.objects.build path(file)
  @file.content = file
end

Protected Instance Methods

path(file) click to toggle source
# File lib/ecrire/app/models/admin/image.rb, line 44
def path(file)
  items = [self.post.id, file.original_filename]

  items.prepend(s3.path) unless s3.path.blank?

  items.join("/")
end
update_file() click to toggle source
# File lib/ecrire/app/models/admin/image.rb, line 30
def update_file
  unless @file.nil?
    begin
      @file.save
      self.url = @file.url
      self.key = @file.key
    rescue StandardError => e
      errors.add 's3', "Couldn't upload file to S3"
      return false
    end
    return true
  end
end