class S3Assets::Model

Public Class Methods

from_s3_params(bucket, key) click to toggle source
# File lib/s3_assets/model.rb, line 52
def self.from_s3_params(bucket, key)
  return nil if bucket.blank? || key.blank?

  key = URI.encode(key, "!@#$%^&*()+=[]{} ")
  url = "https://s3.amazonaws.com/#{bucket}/#{key}"
  self.new(absolute_url: url)
end

Public Instance Methods

dj_priority() click to toggle source
# File lib/s3_assets/model.rb, line 49
def dj_priority
end
download() click to toggle source
# File lib/s3_assets/model.rb, line 25
def download
  ::S3Assets::Utility.download(self.asset.url)
end
fetch_and_store_from_url!() click to toggle source
# File lib/s3_assets/model.rb, line 60
def fetch_and_store_from_url!
  return unless self.processable?

  begin
    self.remote_asset_url = self.absolute_url
    self.save!
  rescue CarrierWave::DownloadError => ex
    if ex.message.include?("Invalid Location URI")
      # "http://www.hiretale.com/files/resize_logo/13126logo original.png"
      # is not working without doing this due to redirect URL not encoded properly
      page = Mechanize.new.head(self.absolute_url)
      self.remote_asset_url = page.uri.to_s
      self.save!
    else
      raise ex
    end
  end
end
filename() click to toggle source
# File lib/s3_assets/model.rb, line 42
def filename
  return nil if self.asset.url.blank?
  file_name = self.asset.url.split("?").first
  file_name = file_name.split("/").last
  file_name
end
image?() click to toggle source
# File lib/s3_assets/model.rb, line 21
def image?
  self.content_type.to_s.downcase.include? "image" unless self.content_type.nil?
end
original_filename() click to toggle source
# File lib/s3_assets/model.rb, line 29
def original_filename
  return nil if filename.blank?
  URI.unescape(filename)
end
processable?() click to toggle source
# File lib/s3_assets/model.rb, line 34
def processable?
  self.absolute_url.present? && self.asset.blank?
end
processed?() click to toggle source
# File lib/s3_assets/model.rb, line 38
def processed?
  !(processable?)
end